【发布时间】:2010-08-18 08:54:13
【问题描述】:
我的意思是这样的包装函数:
function $(id) { return document.getElementById(id); }
但在某些代码中是这样的:
oDiv1 = $("postInfoDiv");
oDiv2 = document.getElementById("postInfoDiv");
alert(oDiv1 == oDiv2); // return false
alert(oDiv1.style); // error
alert(oDiv2.style); // correct
alert(document.getElementById("postInfoDiv").style); // correct
正如 cmets 所暗示的,我得到了奇怪的结果。
我认为第一个警报应该返回 true,因为它们是同一个 dom 对象。
我认为第二个警报应该提醒“对象”或“CSS StyleDeclaration”之类的东西,而不是“定义”。
那么有什么问题呢?你有遇到过这样的问题吗?
谢谢。
【问题讨论】:
-
你试过
alert(oDiv1.style)而不是alert(oDiv.style)吗? -
第二个可能只是因为您从未声明“oDiv”,您声明了“oDiv1”和“oDiv2”但从未声明“oDiv”。
-
alert(oDiv1 == oDiv2);正在为我返回true。 -
@KennyTM 对不起。我写错了,应该是
alert(oDiv1.style)。 -
您遇到的问题是什么浏览器?当我在 IE8 中运行它时,似乎对我来说工作正常。页面上有其他框架吗?
标签: javascript css