Javascript nodeValue возвращает ноль - PullRequest
9 голосов
/ 20 октября 2010

Название должно хорошо описать мою проблему. Вот мой код.

<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"/>

где проблема ..?

Ответы [ 3 ]

15 голосов
/ 20 октября 2010

Чтобы получить [объединенное] текстовое содержимое узла элемента:

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

Чтобы получить текстовое содержимое текстового узла:

function vb(){
alert(document.getElementById("adiv").firstChild.firstChild.nodeValue);
}
11 голосов
/ 20 октября 2010

Вам не хватает firstChild:

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

(я знаю, это звучит странно, но так работают текстовые узлы)

0 голосов
/ 20 октября 2010

<text> узел не поддерживается в IE 7.

...