JS получить значение сгенерированного текстового узла - PullRequest
5 голосов
/ 01 июля 2011

У меня есть этот Javascript в цикле for:

renderAElements[i] = document.createElement ("a");
        renderAElements[i].setAttribute("href", "#");
        renderAElements[i].setAttribute("class", "expander");
        renderAElements[i].appendChild(expand);

        alert (renderAElements[i].nodeValue);

где расширение создается как:

var expand = document.createTextNode("+");

Предупреждение, которое предназначено для возврата текста ссылки каждого созданного элемента, возвращает ноль. Почему это?

Ответы [ 4 ]

5 голосов
/ 01 июля 2011

Поскольку вы пытаетесь получить nodeValue узла Элемент, а не узел Текст.

alert (renderAElements[i].firstChild.nodeValue);
1 голос
/ 01 июля 2011

Это потому, что элемент содержит другой элемент, а не значение.Если вы хотите получить текст из узла, вам нужно будет либо

renderAElements.childNodes[0].nodeValue

, либо

renderAElements.innerText
0 голосов
/ 01 июля 2011

попробуйте alert (renderAElements[i].firstChild.nodeValue);

0 голосов
/ 01 июля 2011

Проверить это

<head>
    <script type="text/javascript">
        function GetTextNode () {
            var textContainer = document.getElementById ("textContainer");
            var textNode = textContainer.firstChild;
            alert (textNode.data);
        }
    </script> 
</head>
<body>
    <div id="textContainer">This is a simple text in the container.</div>
    <button onclick="GetTextNode ()">Get the contents of the container</button>
</body>
...