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 相关文章推荐
prototype 中文参数乱码解决方案
Nov 09 Javascript
Jquery Autocomplete 结合asp.net使用要点
Oct 29 Javascript
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
Nov 26 Javascript
js实现回放拖拽轨迹从过程上进行分析
Jun 26 Javascript
javascript制作2048游戏
Mar 30 Javascript
分享javascript计算时间差的示例代码
Mar 19 Javascript
概述一个页面从输入URL到页面加载完的过程
Dec 16 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
Oct 12 Javascript
浅谈一个webpack构建速度优化误区
Jun 24 Javascript
解决Layui数据表格的宽高问题
Sep 28 Javascript
关于可运行代码无法正常执行的使用说明
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
简单的用PHP编写的导航条程序
2006/10/09 PHP
深入解析php之apc
2013/05/15 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
javascript preload&amp;lazy load
2010/05/13 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
JavaScript动态创建form表单并提交的实现方法
2015/12/10 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
ant design 日期格式化的实现
2020/10/27 Javascript
Python中字符编码简介、方法及使用建议
2015/01/08 Python
Python利用IPython提高开发效率
2016/08/10 Python
Python 3中的yield from语法详解
2017/01/18 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
学习和使用python的13个理由
2019/07/30 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
Java多线程实现四种方式原理详解
2020/06/02 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
flask项目集成swagger的方法
2020/12/09 Python
金融保险专业求职信
2014/09/03 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
教师岗位说明书
2015/09/30 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
如何使用vue3打造一个物料库
2021/05/08 Vue.js