为什么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 APIdocument.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> 他们已通过验证。由于这些HTML5代码已经过验证。我们应该可以使用HTML5的JS APIdocument.querySelector通过其自定义数据属性来查找此锚元素。但是事实是我出错了。 HTML5对HTML5 JS API的规范是否document.querySelector表示该方法无法查找带有数字值的HTML5数据自定义属性?(需要HTML5规范源。)