jQuery选择器特殊字符与属性空格问题


Posted in jQuery onAugust 14, 2017

一、选择器中含有特殊符号的注意事项

1.选择器中含有“.”、“#”、“(”或“]”等特殊字符

根据W3C的规定,属性值中是不能含有这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有“#”和“.”等特殊字符,如果按照普通的方式去处理出来的话就会出错。解决此类错误的方法是使用转义符转义。

<div id="id#b">bb</div> 
< div id="id[1]">cc</div>

不能这样写:

$('#id#b'); 
$('#id[1]');

应该使用转义符号:

$('#id\\#b'); //转义特殊字符“#”
$('#id\\[1\\]'); //转义特殊字符“[ ]”

2.属性选择器的引号问题
1.3.1版本彻底放弃了1.1.0版本遗留下的@符号,如果你使用1.3.1以上的版本,那么你不能在属性前添加@符号,比如:
$('div[@title="test"'];

正确的写法是:

$('div[title="test"'];

二、选择器中含有空格的注意事项

选择器中的空格也是不容忽视的,多一个空格或少一个空格也许会得到截然不同的结果。看下面这个例子,它的HTML代码如下:

<div class="test"> 
<div style="display:none;">aa</div> 
<div style="display:none;">bb</div> 
<div style="display:none;">cc</div> 
<div class="test" style="display:none;">dd</div> 
< /div> 
< div class="test" style="display:none;">ee</div> 
< div class="test" style="display:none;">ff</div>

使用如下的jQuery选择器分别获取它们。

//注意区分类似这样的选择器 
//虽然一个空格,却截然不同的效果. 
var $t_a = $('.test :hidden'); 
var $t_b = $('.test:hidden'); 
var len_a = $t_a.length; 
var len_b = $t_b.length; 
alert("$('.test :hidden') = "+len_a); //输出 4 
alert("$('.test:hidden') = "+len_b); //输出 3

之所以会出现不同的结果,是因为后代选择器与过滤选择器的不同。

var $t_a = $('.test :hidden'); //有空格 是选取class为“test”的元素里面的隐藏元素。

var $t_b = $('.test:hidden'); //没有空格 则是选取隐藏的class为“test”的元素。

这点和css是一样的 css中假如有个div有两个class属性.top 和 .right <div class="top right "></div>,在css中我们要选择它定义样式只能这样写 .top.right{ } 而不能写成.top .right{ }

以上是小编为大家总结的全部内容啦,希望对大家的学习有所帮助~~

jQuery 相关文章推荐
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
jQuery实现拼图小游戏(实例讲解)
Jul 24 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
jquery实现企业定位式导航效果
Jan 01 jQuery
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 jQuery
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
JQuery事件委托原理与用法实例分析
May 13 jQuery
jquery+css3实现的经典弹出层效果示例
May 16 jQuery
使用jQuery实现购物车
Oct 29 jQuery
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 jQuery
jquery自定义组件实例详解
Dec 31 jQuery
jQuery实现手势解锁密码特效
Aug 14 #jQuery
jQuery 中msgTips 顶部弹窗效果实现代码
Aug 14 #jQuery
jQuery:unbind方法的使用详解
Aug 14 #jQuery
jQuery 实时保存页面动态添加的数据的示例
Aug 14 #jQuery
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 #jQuery
jquery.uploadView 实现图片预览上传功能
Aug 10 #jQuery
jquery对table做排序操作的实例演示
Aug 10 #jQuery
You might like
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
jquery 注意事项与常用语法小结
2010/06/07 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
javascript类型转换示例
2014/04/29 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
python开发游戏的前期准备
2019/05/05 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
"序列点" 是什么
2016/07/29 面试题
聚美优品励志广告词
2014/03/14 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
公司合作意向书范文
2014/07/30 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
五四青年节活动总结
2015/02/10 职场文书
考博导师推荐信范文
2015/03/27 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
解决Redis启动警告问题
2022/02/24 Redis