Le problème avec l'aide sera affiché si vous commencez à utiliser des listes imbriquées document.getElementById ('onglets-dope') .getElementsByTagName ('li') . L'utilisation de la propriété childNodes vous donne accès aux enfants directs de cet élément ul particulier. Par exemple
<ul id='tabbed-boosts'>
<li>...</li>
<li>
<ul>
<li> ... </li>
</ul>
</li>
<li>... </li>
</ul>
en utilisant getElementsByTag retournera tous les éléments « li » au sous-arbre-onglets booste, où childNodes ne retournera le premier niveau des éléments « li ». Dans l'exemple ci-dessus, vous recevriez une collection de 4 éléments en utilisant getElementById, y compris la LI imbriqué alors que vous ne recevrez une collection de 3 éléments li à l'aide myUl.childNodes (ci-dessous)
var myUl = document.getElementById('tabbed-boosts');
var myLi = myUl.childNodes;
for(var i = 0; i<myLi.length; i++)
{
myLi[i].style....;
// do whatever you want to the li items;
}
J'utiliser CSS: '# tabbed-boosts li {....}' –
Pour les choses DOM, à moins d'une bonne raison de ne pas le faire, j'utiliserais une bibliothèque pour aplanir les plis et rendre les choses plus pratiques. Quelques liens: [jQuery] (http://jquery.com), [Closure] (http://code.google.com/closure/library), [Prototype] (http://prototypejs.org), [YUI ] (http://developer.yahoo.com/yui/), [plus sur Wikipedia] (http://en.wikipedia.org/wiki/List_of_JavaScript_libraries). Avec jQuery, par exemple, ce serait '$ ('# tabbed-boosts> ul> li'). Css (/ * ... truc de style ici * /)'. D'autres bibliothèques seront également faciles. –
Modifier * de quelle façon *? @Sime: alors que ma technique préférée, ce n'est pas forcément (et certainement pas * directement *) en utilisant le DOM ... – Shog9