2017-08-30 1 views
1

J'ai eu quelques problèmes pour obtenir l'information d'un champ en utilisant JavaScript. Ce qui est nécessaire est de voir combien de p sont à l'intérieur du div qui est à l'intérieur du 'corps' parce que je veux faire certaines choses avec ce nombre.Obtention du nombre d'éléments dans un élément HTML (iframe)

Le code HTML ressemble à ceci - http://i.imgur.com/Fm1ass8.png

Le code que j'ai essayé (j'ai essayé dans la console dans Chrome) - fonctionne parfois, et parfois non. Je n'arrive pas à comprendre pourquoi.

//Getting the iframe element 
var testing = 
document.getElementById("radEditorCenter").getElementsByTagName("*")[2] || 
document.getElementById("radEditor_contentIframe"); 

//Getting the #document element 
var innerDoc = testing.contentDocument || testing.contentWindow.document; 

//Getting the html element 
var HTMLElement = innerDoc.getElementsByTagName("html"); 

//Getting body element 
BodyElement = HTMLElement.getElementsByTagName("body"); 

Lorsque je tente le dernier extrait de code, il est dit

VM7957:1 Uncaught TypeError: HTMLElement.getElementByTagName is not a 
function 
at <anonymous>:1:27 
+0

Vote de fermeture hors-sujet car le problème était dû à un type. La fonction est appelée 'getElementsByTagName' - les éléments sont au pluriel - ce que vous avez obtenu partout ailleurs. – Quentin

Répondre

0

si vous voulez attraper tous les p-noeuds dans le corps (et les nœuds enfants de corps), vous pouvez utiliser

var innerDocPnodes = innerDoc.querySelector('body').querySelectorAll('p').length