getElementById(idname) 如何找到正确的元素,而 element.id 将 id 显示为“”而不是“idname”?

搜了又搜,没找到类似的情况和答案。

我可以使用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章