在Javascript中使用连字符获取元素
HTML代码段:在Javascript中使用连字符获取元素,javascript,Javascript,HTML代码段: <input title="List" data-id="1698481"> 根据这个主题的其他线程,我尝试了其他语法(camel-case等),但仍然无法让它返回任何值 document.getElementsByTagName("input")[0].dataId undefined document.getElementsByTagName("input")[0].["data-id"] Expected identifier document.getEle
<input title="List" data-id="1698481">
根据这个主题的其他线程,我尝试了其他语法(camel-case等),但仍然无法让它返回任何值
document.getElementsByTagName("input")[0].dataId
undefined
document.getElementsByTagName("input")[0].["data-id"]
Expected identifier
document.getElementsByTagName("input")[0].['data-id']
Expected identifier
任何帮助都将不胜感激。数据-*属性非常特殊:
document.getElementsByTagName("input")[0].dataset.id
data-*属性从连字符转换为camelCasing,因此data test attribute=“test”
相当于:
htmlElement.dataset.testAttribute; // test
有关详细信息,请参阅。使用.getAttribute()
:
这也是可行的,但是它不像
.getAttribute()
@Gothdo那样得到广泛的支持。你是对的,但是支持非常广泛:谢谢!我想知道为什么console.log中没有定义[“数据id”],取消链接[“title”]/.title。我建议您重温一些有关访问属性的JavaScript基础知识:。([0].[data-id]
是无效的语法)
htmlElement.dataset.testAttribute; // test
document.getElementsByTagName("input")[0].getAttribute("data-id")