当用queryselector()或queryselectorall()查找类似name="2nd_btn"的元素时,ff,chrome和ie8都会报错。
ff,chrome报的错是一样的,如下所示:
error: uncaught exception: [exception... "an invalid or illegal string was specified" code: "12" nsresult: "0x8053000c (ns_error_dom_syntax_err)" location: ".../test/qsa.html line: 18"]
ie8的报错提示:行: 18 错误: 参数无效。
一寻思,name的值是以数字开头的,把数字去掉或修改后,就能取到了。
这就告诉我们,一般可自定义标签的属性值时,属性值不能以数字开头,也不能包含$,^等不常用的字符。
在html页面开始一定要记得声明。
测试代码:
<script> <br>var a = document.querySelectorAll("[name=warns]") <br>alert(a.length)//输出:2 <br>var b = document.querySelector("[id=3err]") <br>alert(b.tagName)//报错 <br>var c = document.querySelectorAll("[name=1err]") <br>alert(c.length)//报错 <br></script>











