这工作:问题通过document.getElementById
alert(document.getElementById("Container").nodeName);
但这并不:
var CurParent = document.getElementById("Container");
alert(CurParent.nodeName);
我使用IE7。 为什么?
这工作:问题通过document.getElementById
alert(document.getElementById("Container").nodeName);
但这并不:
var CurParent = document.getElementById("Container");
alert(CurParent.nodeName);
我使用IE7。 为什么?
从您的最新评论,这似乎是一个变量范围界定的问题。你确定var parent
是真的是全球?下面将不工作中,由于不正确的变量范围:
function firstThing() {
var parent = document.body;
}
function secondThing() {
return parent;
}
firstThing();
secondThing(); // will return undefined
定义在最大范围的变量,你打算使用它。以下将工作。
var parent;
function firstThing() {
parent = document.body;
}
function secondThing() {
return parent;
}
firstThing();
secondThing(); // will return document.body
呃......我不确定我是否相信。当你说它“不起作用”时,你是什么意思? – Pointy 2010-04-02 19:51:00
这两个片段都是相同的。问题在别处。你为什么认为第二个不起作用? HTML文档是否完全一样? – 2010-04-02 19:52:26
这里有一点要注意:IE会根据“id”*或*“name”值返回该例程中的元素。 – Pointy 2010-04-02 19:54:22