的显示innerHTML的我有:孩子
<td id="td1">
<div>
aaaaaa
</div>
</td>
我怎样才能获得 “TD1” 的孩子的innerHTML?
function displaymessage() {
var i = 0;
alert(document.getElementById("td1").childNodes[0].innerHTML);
}
dosen't work。
的显示innerHTML的我有:孩子
<td id="td1">
<div>
aaaaaa
</div>
</td>
我怎样才能获得 “TD1” 的孩子的innerHTML?
function displaymessage() {
var i = 0;
alert(document.getElementById("td1").childNodes[0].innerHTML);
}
dosen't work。
某些浏览器会将换行符解释为第一个childNode
。所以,你可以这样做:
document.getElementById("td1").childNodes[1].innerHTML
或更安全的方法
document.getElementById("td1").getElementsByTagName('div')[0].innerHTML
尝试使用alert(document.getElementById(“td1”)。childNodes [1] .innerHTML);
我讨厌是使用jQuery来解决每一个DOM选择/操作问题的家伙,但如果你使用jQuery所有你需要是...
function displayMessage() {
alert($('#td1 > div').html())
}
几个浏览器视为空白文本节点和在遍历产生问题。
避免你应该检查节点类型
childNode = document.getElementById("td1").childNodes[0]
if(childNode.nodeType==1)
alert(childNode.innerHTML)
看到更多的信息here
而其他的答案是技术上是正确的,这是其中的一件事情。你必须决定你是否使用jQuery。如果你是,那么它只是没有意义*不*使用@Chris W的答案... – 2011-04-22 10:10:12