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

时间:2018-01-05 13:38:07

标签: javascript getelementbyid

我搜索过并搜索过,但没有找到类似的情况和答案。

我能够使用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"

编辑:我找到了答案,见下文。

1 个答案:

答案 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