我在for循环中有这个Javascript:
renderAElements[i] = document.createElement ("a");
renderAElements[i].setAttribute("href", "#");
renderAElements[i].setAttribute("class", "expander");
renderAElements[i].appendChild(expand);
alert (renderAElements[i].nodeValue);
其中expand创建为:
var expand = document.createTextNode("+");
警报,用于返回每个已创建元素的链接文本,返回null。这是为什么?
答案 0 :(得分:5)
因为您试图获取Element节点的nodeValue
而不是Text节点。
alert (renderAElements[i].firstChild.nodeValue);
答案 1 :(得分:1)
这是因为a元素包含另一个元素而不是值。如果您想从节点中获取文本,则需要执行
renderAElements.childNodes[0].nodeValue
或
renderAElements.innerText
答案 2 :(得分:0)
<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>
答案 3 :(得分:0)
试试这个alert (renderAElements[i].firstChild.nodeValue);