相关疑难解决方法(0)

为什么JS代码"var a = document.querySelector('a [data-a = 1]');" 导致错误?

我在DOM中有一个元素:

<a href="#" data-a="1">Link</a>

我想通过其HTML5自定义数据属性获取此元素data-a.所以我写JS代码:

var a = document.querySelector('a[data-a=1]');

但是这段代码不起作用,我在浏览器的控制台中出错了.(我测试了Chrome和Firefox.)

JS代码var a = document.querySelector('a[data-a=a]');不会导致错误.所以我认为问题是HTML5的JS API document.querySelector不支持在HTML5自定义数据属性中查找数值.

这是浏览器实现错误或HTML5规范相关问题document.querySelector吗?

然后我在http://validator.w3.org/上测试了以下代码:

<!DOCTYPE html>
<meta charset="utf-8">
<title>An HTML Document</title>
<a href="#" data-a="1">Link</a>
Run Code Online (Sandbox Code Playgroud)

他们已经过验证.由于这些HTML5代码已经过验证.我们应该使用HTML5的JS API document.querySelector通过其自定义数据属性来查找此锚元素.但事实是我得到了错误.

HTML5对HTML5 JS API的规范是否document.querySelector说该方法无法查找具有数值的HTML5数据自定义属性?(需要HTML5规范源.)

javascript html5 css-selectors selectors-api custom-data-attribute

59
推荐指数
2
解决办法
8万
查看次数