IE8下关于querySelectorAll()的问题


Posted in Javascript onMay 13, 2010

当用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>
Javascript 相关文章推荐
Javascript 类与静态类的实现
Apr 01 Javascript
Jquery 自定义动画概述及示例
Mar 29 Javascript
jquery给图片添加鼠标经过时的边框效果
Nov 12 Javascript
js控制输入框获得和失去焦点时状态显示的方法
Jan 30 Javascript
基于JavaScript实现移动端TAB触屏切换效果
Oct 20 Javascript
封装属于自己的JS组件
Jan 27 Javascript
jQuery绑定事件的几种实现方式
May 09 Javascript
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
Aug 17 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
Dec 16 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
关于可运行代码无法正常执行的使用说明
May 13 #Javascript
jquery validate.js表单验证的基本用法入门
May 13 #Javascript
JQuery 选择器 xpath 语法应用
May 13 #Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
May 11 #Javascript
通过判断JavaScript的版本实现执行不同的代码
May 11 #Javascript
JavaScript 判断指定字符串是否为有效数字
May 11 #Javascript
Jquery 获得服务器控件值的方法小结
May 11 #Javascript
You might like
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
Destoon模板制作简明教程
2014/06/20 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PHP输出日历表代码实例
2015/03/27 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
PHP强制转化的形式整理
2020/05/22 PHP
基于json的jquery地区联动效果代码
2011/07/06 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
Python常见数字运算操作实例小结
2019/03/22 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
python基于openpyxl生成excel文件
2020/12/23 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
给同事的道歉信
2014/01/11 职场文书
数学国培研修感言
2014/02/13 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
mysql事务隔离级别详情
2021/10/24 MySQL