2010-08-25 8 views
-1

J'ai ceci:Que fait exactement cette syntaxe de javascript getElementsByTagName?

var targetTitle = targetElement.getElementsByTagName('title').item(0); 

Suis-je passer une chaîne de caractères dans targetTitle? ou qu'est-ce que je passe exactement?

Quel élément serait point (1), point (2), etc ... ici:

<title>title1</title> 
<title><title2</title> 

-t-il il suffit de regarder pour tous les title balises sur la page et revenir 0,1 , 2 /?

Est-ce que ce retour 'Title2':

targetElement.getElementsByTagName(‘title’).item(1) 
+0

Quel est le problème avec moi en mettant votre ligne de code en question dans le corps de la question que vous devez le remettre dans le titre? – BoltClock

Répondre

1

Le targetTitle contiendra une référence à l'objet DOM pour la balise title.

Le code reçoit uniquement la première balise title, car il n'y en a qu'une dans chaque document.

+0

et s'il y a deux balises de titre comme dans mon exemple –

+0

Regardez ma réponse éditée, vous récupérez l'un des éléments de titre avec 'item (n)', pas les deux. – Lekensteyn

+0

@I__: Le navigateur ignore probablement le second, donc il n'y en a vraiment qu'un seul. De toute façon, le code obtient seulement le premier. – Guffa

1

Vous obtenez le premier élément <title> de targetElement.

article (0): <title>title1</title>
article (1): <title><title2</title>

Note: ces index commence par zéro, pas une.

+0

est-ce une chaîne ou qu'est-ce que c'est? –

+2

C'est un objet HTMLElement. Pour obtenir le contenu, utilisez textContent ou innerHTML, comme 'var title = targetTitle.innerHTML;'. – Lekensteyn