这是我的问题。下面的代码是一个简化版本,用于指出奇怪的错误。
<html>
<head>
<script type = "text/javascript">
window.onload = function test()
{
body = document.getElementsByTagName('body')[0];
div = document.createElement('div');
div.id = 'div';
body.appendChild(div);
document.getElementById('div').innerHTML = "text";
if(document.getElementById('div').childNodes[0] == "text")
{
alert('true');
}else {
alert('false');
}
}
</script>
<style>
</style>
</head>
<body>
</body>
为什么是假的!?它实际上是完全相同的字符串。是不是 .innerHTML
部分?与此问题相关的任何答案都会有所帮助。夜深了,我很生气,很困惑。
您可以
比较子节点的nodeValue
,因为childNodes
返回一个对象:
if (document.getElementById('div').childNodes[0].nodeValue == "text")