我搜索过并搜索过,但没有找到类似的情况和答案。
我能够使用getElementById(idname)访问一个元素,甚至可以访问它的值,但是当我尝试访问它的id时,它显示为“”而不是“idname”。这怎么可能?
示例:
console.log(document.getElementById("test").value); //is shown as Hello World
console.log(document.getElementById("test").id); //is shown as "" and not as "test"
编辑:我找到了答案,见下文。
答案 0 :(得分:1)
我做了一些测试,发现了为什么document.getElementById(idname)检索元素而不是它的id。我们的测试浏览器是以兼容模式运行的IE11(该项目最初用于IE8),IE可以使用document.getElementById获取name属性,因此检索到该元素但没有id。
一个简单的例子:
<input name = "test" value = "test value"></input>
<input id = "test2"></input>
使用Javascript:
console.log("test id :" + document.getElementById("test").id);
console.log("test2 id :" + document.getElementById("test2").id);
console.log("test value :" + document.getElementById("test").value);
结果:
test id :
test2 id :test2
test value :test value