搜了又搜,没找到类似的情况和答案。
我可以使用 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"
编辑:我找到了答案,见下文。
我做了一些测试,发现为什么 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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句