Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z nextSibling
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
piotrooo89
Wałkuje JS i natknąłem się na problem. mam taki kod

  1. <div class="all">
  2. <input type="text" name="nazwa_firmy" id="nazwa_firmy" onFocus="on(this);" onBlur="off(this);"/>
  3. <label for="nazwa_firmy">Nazwa firmy</label>
  4. </div>


i skrypt:

  1. <script type="text/javascript">
  2. function on(item)
  3. {
  4. item.style.border='1px solid black';
  5. var label = item.nextSibling;
  6. label.style.color='black';
  7. }
  8. function off(item)
  9. {
  10. item.style.border='1px solid gray';
  11. }


i chce po kliknięciu zmienić obramowanie i kolor labela na czarny a po od kliknięciu na szare. działa z obramowaniem a z labelem mam problem, w ogóle nie zmienia mi koloru.

jakieś pomysły?
Crozin
Bo tekst (enter/spacje) pomiędzy elementami jest traktowany jako element drzewa DOM.

Ale możesz to w miarę prostym skryptem rozwiązać:
Kod
var label = item;
do{
  label = label.nextSibling;
}while(label.nodeType != 1);

label.style.color='black';
piotrooo89
wuala ! dzięki śliczne będę o tym pamiętał.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.