Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Februar

SELFHTML Forumsarchiv
stye.display - Problem im IE7

Informationsseite
  1. Seite (JAVASCRIPT) stye.display - Problem im IE7 von Andi, 29. 02. 2008, 15:02
nach unten

stye.display - Problem im IE7

Die folgende Nachricht zum Thema stammt von: Andi, 29. 02. 2008, 15:02

Hallo,

folgendes Problem:
Ich versuche eine Option mit dem Befehl temporär auszublenden:
document.getElementById('test').options[0].style.display = 'none';

Im FF und Opera habe ich damit keine Probleme. IE7 schert sich aber nicht darum. Wenn ich das options weg lasse dann wird richtigerweise die Selectbox ausgebelendet auch im IE.

Jemand eine Idee was hier im Busch sein könnte?
Grüß
Andi

nach obennach unten

stye.display - Problem im IE7

Die folgende Nachricht zum Thema stammt von: ritschmanhard, 29. 02. 2008, 15:24

Hi Andi!

Interessant, dass es bei den anderen Browsern (FF&Co.) funktioniert...
»» document.getElementById('test')
liefert ein Node (http://de.selfhtml.org/javascript/objekte/node.htm Objekt zurück.
Dieses kennt generell keine .options[...] Eigenschaft.
Die Lösung sollte in (...).getElementsByTagName("option")[0] liegen, was den option Knoten [index 0] liefert, der seine Erscheinung mittels style anpassen lassen sollte.

Viele Grüsse,
Richard

nach obennach unten

stye.display - Problem im IE7

Die folgende Nachricht zum Thema stammt von: Andi, 29. 02. 2008, 15:38

Hallo Richard,

gibt es noch andere Funktionen, welchen den option-Knoten liefern? Ich kann leider nicht alle options durchparsen um den richtigen zufinden.
Weiters verstehe ich nicht warum getElementById und getElementsByTagName anders reagieren sollte:

"Um auf die Eigenschaften und Methoden des node-Objekts zugreifen zu können, benötigen Sie einen Knoten. Um auf vorhandene Knoten im Dokument zuzugreifen, werden die Methoden des  document-Objekts  getElementById,  getElementsByName und  getElementsByTagName verwendet. Ausgehend davon können Sie die Attributknoten, Textknoten und weitere Element-Kindknoten eines Elements ansprechen" - aus Selfhtml

Danke und Grüße
Andi

nach obennach unten

node - Problem im IE7

Die folgende Nachricht zum Thema stammt von: ritschmanhard, 29. 02. 2008, 15:45

Hi Andi!

Ich denke, du hast mich nicht ganz gekriegt - (ich hab's aber auch blöd geschrieben):
Anstelle von:
document.getElementById('test').options[0].style...
verwendest du besser:
document.getElementById('test').getElementsByTagName("option")[0].style

Damit sollte sich auch die Frage geklärt haben, oder?

Grüsse,
Richard

nach obennach unten

node - Problem im IE7

Die folgende Nachricht zum Thema stammt von: Andi, 29. 02. 2008, 15:49

Hallo Richard,


»» document.getElementById('test').options[0].style...
»» verwendest du besser:
»» document.getElementById('test').getElementsByTagName("option")[0].style
»»
»» Damit sollte sich auch die Frage geklärt haben, oder?

Funktioniert nur im FF; Opera und IE7 weigern sich beharrlich.

Grüße
Andi

nach obennach unten

stye.display - Problem im IE7

Die folgende Nachricht zum Thema stammt von: steckl, 29. 02. 2008, 16:02

Hi,

»» Ich versuche eine Option mit dem Befehl temporär auszublenden:

Kann es sein, dass der IE7 display='none' für options einfach nicht akzeptiert?
Wenn ich mich nicht täusche habe ich dazu auch hier im Forum mal einen Beitrag gelesen, aber ich finde ihn jetzt auf die Schnelle nicht.

Lass dir das mal im IE7 anzeigen:
 <select>
   <option id="opt1" value="1">eins</option>
   <option id="opt2" value="2">zwei</option>
   <option id="opt3" style="display: none;" value="3">drei</option>
   <option id="opt4" value="4">vier</option>
   <option id="opt5" value="5">fuenf</option>
 </select>


Bei mir ignoriert der IE7 das "display: none" einfach.
Eine alternative für dich wäre vielleicht removeChild().

mfG,
steckl

nach obennach unten

stye.display - Problem im IE7

Die folgende Nachricht zum Thema stammt von: Andi, 29. 02. 2008, 16:06

Hallo,

»» Kann es sein, dass der IE7 display='none' für options einfach nicht akzeptiert?

Ja das wird es sein anders kann ich mir es nicht erklären.
»» Eine alternative für dich wäre vielleicht removeChild().

Welches ich auch jetzt verwenden werde.

Grüße und Dank
Andi

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Februar

© 1998-2006 Seite Impressum, Software: Classic Forum