10

タイトルは私の問題をよく説明する必要があります。ここに私のコードがあります。

<div id="adiv"><text>Some text</text></div>    
<script type="text/javascript">
function vb(){
alert(document.getElementById("adiv").firstChild.nodeValue); //returns null
}
</script>
<input type="button" onclick="vb();" value="get"/>

問題はどこに..?

4

3 に答える 3

18

要素ノードの [マージされた] テキスト コンテンツを取得するには:

function vb(){
var textnode = document.getElementById("adiv").firstChild;
alert(textnode.textContent || textnode.innerText);
}

テキスト ノードのテキスト コンテンツを取得するには:

function vb(){
alert(document.getElementById("adiv").firstChild.firstChild.nodeValue);
}
于 2010-10-20T12:29:05.833 に答える
13

firstChild がありません:

alert(document.getElementById("adiv").firstChild.firstChild.nodeValue);

(奇妙に聞こえるかもしれませんが、これがテキストノードの仕組みです)

于 2010-10-20T12:22:56.380 に答える
-2

<text>node は IE 7 ではサポートされていません。

于 2010-10-20T13:10:09.310 に答える