手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >IE8下关于querySelectorAll()的问题
IE8下关于querySelectorAll()的问题
摘要:当用querySelector()或querySelectorAll()查找类似name="2nd_btn"的元素时,FF,chrome和I...

当用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页面开始一定要记得声明<!DOCTYPE>。

测试代码:

复制代码 代码如下:

<!DOCTYPE>

<html>

<head></head>

<body>

<div id="foo">

<a name="warns" href="">This is a sample warning</a>

<a id="3err" href="">This is a sample error</a>

</div>

<div id="bar">

<a name="warns" href="">This is another sample warning</a>

<a name="1err" href="">This is another sample error</a>

</div>

<script>

var a = document.querySelectorAll("[name=warns]")

alert(a.length)//输出:2

var b = document.querySelector("[id=3err]")

alert(b.tagName)//报错

var c = document.querySelectorAll("[name=1err]")

alert(c.length)//报错

</script>

</body>

</html>

【IE8下关于querySelectorAll()的问题】相关文章:

javascript中innerText和innerHTML属性用法实例分析

js-穷举法 (y0h)

JavaScript实现单击下拉框选择直接跳转页面的方法

JS中Eval解析JSON字符串的一个小问题

自己编写的支持Ajax验证的JS表单验证插件

javascript中this的四种用法

多个iframe自动调整大小的问题

JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例

详解JavaScript中Date.UTC()方法的使用

用javascript制作放大镜放大图片

精品推荐
分类导航