javascript getElementById隐藏的问题

时间:2011-03-30 08:38:17

标签: javascript getelementbyid

我正在尝试创建一个bookmarklet,它将返回我注册的网站的用户ID。登录网站时,有一段代码如下:

<input id="memberID" name="00V85345345343ugFFC" type="hidden" value="3959721"/>

这是我正在使用的JavaScript,但它没有做任何事情。我在这里做错了吗?

javascript:alert("Your member ID is\n"+document.getElementById("memberID")[0].value);

3 个答案:

答案 0 :(得分:4)

如果找不到与该ID匹配的元素,则

document.getElementById会返回HTMLElementnull

因为元素ID应该是唯一的,所以返回一个数组是没有意义的。最多应匹配一个元素。

javascript:alert("Your member ID is\n"+document.getElementById("memberID").value);
然而,

document.getElementsByTagName例如(注意复数元素而不是元素)返回一个元素数组;因为在页面中拥有相同标签的多个元素是完全合理的。

var divElements = document.getElementsByTagName("div");
if (divElements.length) {
    var firstElement = divElements[0];
};

答案 1 :(得分:2)

getElementById返回单个元素,而不是元素数组。

所以这个:

getElementById("memberID")[0].value

必须成为:

getElementById("memberID").value

答案 2 :(得分:0)