innerHTML 字符串不等于 javascript 中的相同字符串?



这是我的问题。下面的代码是一个简化版本,用于指出奇怪的错误。

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

最新更新