在Javascript中使用连字符获取元素

时间:2016-05-20 20:47:49

标签: javascript

HTML片段:

<input title="List" data-id="1698481">

在IE 11控制台中,我一直在尝试各种命令,没有连字符的所有内容都会正确返回,直到我点击&#34; data-id。&#34;

document.getElementsByTagName("input")[0].title
"List"
document.getElementsByTagName("input")[0].data-id
'id' is undefined

根据这个主题的其他主题,我尝试了其他语法(驼峰案例等),但我仍然无法让它返回任何值

document.getElementsByTagName("input")[0].dataId
undefined
document.getElementsByTagName("input")[0].["data-id"]
Expected identifier
document.getElementsByTagName("input")[0].['data-id']
Expected identifier

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

data-*属性很特殊:

document.getElementsByTagName("input")[0].dataset.id

data- *属性从连字符转换为camelCasing,因此data-test-attribute="test"等同于:

htmlElement.dataset.testAttribute; // test

有关详细信息,请参阅the MDN on dataset

答案 1 :(得分:0)

使用.getAttribute()

document.getElementsByTagName("input")[0].getAttribute("data-id")