Der Martin: Label Style ändern?

Beitrag lesen

Hallo,

<label for="warn_sel_Size">Size</label><br />

<select name="sel_Size" id="warn_sel_Size"
<option value="x">Not available</option>
</select>

  

> Bei bestimmten Siutationen sollen diese Selects und textfelder disabled sein und auch die Schrift im Label soll grau sein.  
  
wenn nicht IrgendEin Browser ein Problem damit hätte, wäre es natürlich schlau, das Formularelement (select, input) mit in das label-Element zu stecken, so dass man die beiden Elemente günstig adressieren kann. Wenn allerdings IE(6) auch noch berücksichtigt werden muss, ist die obige Struktur wohl erforderlich[1]. Das br-Element allerdings nicht.  
  

> Übergeben wird also zum Beispiel:  
> disable\_element('warn\_sel\_Size');  
  

> function disable\_element(elm\_id) {  
> elm = document.getElementById(elm\_id);  
> elm.disabled = true;  
  
dann hast du mit elm jetzt eine Referenz auf das label-Element und setzt dessen disabled-Eigenschaft. Ergibt das Sinn?  
  

> elm\_label = document.getElementById(elm\_id);  
  
Dann bestimmst du in elm\_label dieselbe Referenz nochmal, ...  
  

> elm\_label.parentNode.style.color ='#515151';  
> }  
  
... und setzt die Textfarbe seines Elternelements auf schwach grau. Das ist vermutlich das Formular, das die Textfarbe dann an alle seine Kindelemente vererbt.  
  

> Wie könnte ich gezielt nur den dazugehörigen Label ansprechen?  
  
Das tust du bereits - das Label und sein Elternelement.  
  
Ciao,  
 Martin  
  
  
[1] Ich gehe mal davon aus, dass das nicht korrekt geschlossene select-Element nur ein Abschreibfehler ist. Hoch lebe Copy&Paste. (Nicht zu verwechseln mit Smith&Wesson)

-- 
Moskito, ergo summ.