我正在尝试创建一个bookmarklet,它将返回我注册的网站的用户ID。登录网站时,有一段代码如下:
<input id="memberID" name="00V85345345343ugFFC" type="hidden" value="3959721"/>
这是我正在使用的JavaScript,但它没有做任何事情。我在这里做错了吗?
javascript:alert("Your member ID is\n"+document.getElementById("memberID")[0].value);
答案 0 :(得分:4)
document.getElementById
会返回HTMLElement
或null
。
因为元素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)