我正在尝试打电话document.getElementsByTagName
,我回来了undefined
结果,无论我传递什么参数。 (即使我通过了“*”。)
我尝试用谷歌搜索它,但所有搜索结果都是关于 getElementsByTagName 结果数组的元素未定义。我得到的是undefined
结果本身,它让我陷入困境。
有谁知道是什么原因造成的? (使用 Firefox 12.0。在 Chrome 中我得到了预期的结果。)
编辑:好的,这是示例代码:
function buttonClick(){
var xhr = new XMLHttpRequest();
var msg = document.getElementById('message');
var buttons = document.getElementsByTagName("button");
var button, i;
for (i = 0; i < buttons.length; ++i){
button = buttons[i];
msg.removeChild(button);
}
xhr.onreadystatechange = function() {
if(xhr.readyState == 4){
handleResult(xhr.responseText, msg);
}
};
xhr.open("POST", location.href, true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send("cmd=MyCommand");
}
And the getElementsByTagName
总是返回undefined
,无论我是在 Firebug 的“脚本”选项卡中跟踪它还是从“控制台”选项卡调用它。 (同样在 Firebug 中,因为这似乎让人感到困惑。显然周围有太多的控制台。)。
作为证据,以下是我尝试使用 Firebug 控制台时得到的信息:
>>> document.getElementsByTagName("button");
undefined
>>> msg.getElementsByTagName("button");
undefined
>>> msg.getElementsByTagName
getElementsByTagName()
>>> msg.getElementsByTagName("BUTTON");
undefined
>>> msg.getElementsByTagName("*");
undefined
>>> document.getElementsByTagName("*");
undefined
>>> document.getElementsByTagName("body");
undefined
标记是(或应该是)无关紧要的。这是一个有效的、格式良好的 HTML 页面,上面有一些按钮和其他元素。该 JS 函数附加到onclick
其中一个按钮的。但它看起来像这样:
<html xmlns="http://www.w3.org/1999/xhtml"><head>
blah
</head>
<body>
<script type="text/javascript" src="/myJS.js"></script>
<div id="page-container">
<div id="message"><button onclick="buttonClick();">Button 1</button><button onclick="ButtonClick2()">Button 2</button></div>
</div>
</body></html>