Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中使用连字符获取元素_Javascript - Fatal编程技术网

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

在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

HTML代码段:

<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")