L'obtention d'un élément unique avec `getElementsByTagName`
Je sais que si nous voulons trouver un groupe d'éléments, getElementsByTagName est la méthode pour nous, et il renvoie une NodeList. mais si nous sommes à la recherche pour le nom de la balise avec le "corps" , alors pourquoi avons-nous besoin d'ajouter [0] après l' ("corps") de l'élément? Il y a une seule balise body dans un document HTML.
var body = document.getElementsByTagName("body")[0];
body.className = "unreadable";
pourquoi on ne peux pas écrire ce code sans index[0] comme ce
var body = document.getElementsByTagName("body");
body.className = "unreadable";
Si j'écris ce code de la classe illisibles ne seront pas ajoutés avec la balise body ...pourquoi?
Vous devez vous connecter pour publier un commentaire.
Parce que
document.getElementsByTagName
allways retourne NodeList. Si vous souhaitez trouver de moyen plus facile de récupérer des corps, vous pouvez utiliser seulementdocument.body
getElementsByTagName
renvoie une NodeList. Il a peut-être aucun des éléments. Il pourrait en avoir un. Il pourrait avoir de nombreux. Vous pouvez voir comment beaucoup de sont en il en testant ses.length
.Elle serait source de confusion si elle retournait parfois un NodeList et parfois renvoyé un ElementNode.
getElementsByTagName
[docs] toujours renvoie uneNodeList
. Il n'est pas question de savoir si un élément avec une certaine étiquette existe qu'une seule fois.Il serait mauvais si la fonction s'est comporté de façon incohérente.