function func(){
with (document.forms[0]){
inputid.value = "text"; //Works!
spanid.innerHTML = "text"; //Err, spanid is not defined.
}
}
这在Firefox中不起作用,但它在IE7中。我在Firebug中调试spanid is not defined
,但我可以使用document.getElementById("spanid")
来选择此元素。我只是不知道为什么?输入元素工作正常!
答案 0 :(得分:3)
不应该是document.forms[0]
(注意表单上的 s )
的 强> 的 **编辑** 强>
由于答案没有在这个问题上进行,所以这是我的建议。简单来说使用您熟悉的方法,不要浪费时间尝试使其工作。
function YourFunction()
{
var objSpan = document.getElementById([Insert Element ID]);
var objInput = document.getElementById([Insert Element ID]);
objSpan.InnerHTML = "text";
...
}
答案 1 :(得分:0)
IE将所有带ID的元素作为属性粘贴在全局范围内。 Firefox在标准模式下不这样做(但在怪癖模式下)。