我在DOM已经元素:为什么JS代码“var a = document.querySelector('a [data-a = 1]');”导致错误?
<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>
他们验证。由于这些HTML5代码已经过验证。我们应该使用HTML5的JS API document.querySelector
来通过它的自定义数据属性来查找这个锚元素。但事实是,我得到错误。
HTML5的规范是否将HTML5 JS API document.querySelector
称为此方法无法查找具有数字值的HTML5数据自定义属性? (安HTML5规范源而被通缉。)
当使用[CSS属性选择器](http://www.blo oberry.com/indexdot/css/syntax/selectors/attribute.htm),该值应该用引号括起来,例如, '一个[数据-A = “1”]'。 – 2013-02-11 09:53:44
'querySelectorAll()'不是“HTML5 JS API”。它绝对与HTML5毫无关系。 – BoltClock 2013-07-20 12:24:59