1

私は次のものを持っています:

root = xmlDoc.documentElement;

for (i=0; i<root.childNodes.length; i++) {              

if (root.childNodes[i].nodeType==1){ // FILTERING NODE TYPE
myvar = root.childNodes.length;
alert (myvar.length);
}
}

長さは 7 を返します。これは、すべてのノード タイプ (フィルタリングされていない) を反映しています。

私が欲しいのは: myvar にはタイプ 1 のノード要素のみを含める必要があります

どうやってやるの?

ありがとう、L.

4

3 に答える 3

0

それが本当にあなたの目的に役立つかどうかはわかりませんが、うまくいくはずです。

root = xmlDoc.documentElement;
var children = root.childNodes;
for (i=0; i<children.length; i++)
  if (children[i].nodeType==1) // FILTERING for element NODE TYPE
    alert(children[i]).length);

あなたが本当にやりたいことを教えてください。この回答を編集して、より適切なものにすることができます。

于 2012-09-24T13:29:19.503 に答える
0

コードは、含まれるノード タイプに関係なく、常に配列の長さを返します。1 に等しいノード タイプの数を取得する場合は、次のコードを使用できます。

root = xmlDoc.documentElement;
var counter = 0;
for (i=0; i<root.childNodes.length; i++) {              
   if (root.childNodes[i].nodeType == 1){
      counter++;
   }
}
alert (counter);
于 2012-09-24T13:30:09.687 に答える
0

parseFloat 関数を使用して int val を cpmpare に取得します

root = xmlDoc.documentElement;

for (i=0; i<root.childNodes.length; i++) {              

  if (parseFloat(root.childNodes[i].nodeType)==1){ // FILTERING NODE TYPE
     myvar = root.childNodes.length;
     alert (myvar.length);
  }
}
于 2012-09-24T13:21:18.983 に答える