2012-02-03 8 views
2

http://jsbin.com/eyeqer/2/editこのxpath式で何が問題になっていますか?

var x = document.evaluate('//p/following-sibling::text()', document, null, XPathResult.ANY_TYPE, null); 

var theTitle = x.iterateNext(); 
while (theTitle){ 
alert(theTitle.textContent); 
theTitle = x.iterateNext(); 
} 

<body> 
    <p>Hello</p> 
    <p>World</p> 
    <p>HW</p> 

</body> 

私は "世界" と "HW" を参照してくださいすることが期待されるが、それはうまくいきませんでした!どうして?どうすれば修正できますか?

答えて

3

ノードを選択する必要がありますので*text()ではなく)を使用する必要があります。

var x = document.evaluate('//p/following-sibling::*', document, null, XPathResult.ANY_TYPE, null); 
+0

なぜpre ??私はそのようなタグを持っていない! – DrStrangeLove

+0

私はそれをテストしました – dfsq

+0

ありがとう!できます!!しかし、私は質問があります。なぜ3番目のアラートはソースコードを出力しますか? – DrStrangeLove

関連する問題