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

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{ }

最新文章

  1. git版本控制管理实践-3
  2. Java常用的7大排序算法汇总
  3. 面试集锦-常量,const, const 对指针的影响
  4. 堡垒机 paramiko代码
  5. 在win7的虚拟机中LINUX与winxp两客户机互通问题
  6. [三]SpringMvc学习-封装、乱码问题、重定向、转发
  7. BZOJ 3669: [Noi2014]魔法森林( LCT )
  8. 自己写shell命令pwd
  9. [UWP小白日记-12]使用新的Composition API来实现控件的阴影
  10. PAT (Advanced Level) 1043. Is It a Binary Search Tree (25)
  11. dedecms mysql连接错误:#1040 - Too many connections
  12. Java进阶(九)正则表达式
  13. 【洛谷P3605】晋升者计数
  14. Keepalived配置文件详解
  15. luogu3263/bzoj4002 有意义的字符串 (数学+矩阵快速幂)
  16. 06:合法 C 标识符
  17. 区别ES3ES5和ES6this的指向问题。区分普通函数和箭头函数中this的指向问题
  18. 【HTML】input标签中alt属性和title属性的比较
  19. (6)time&amp;datetime(时间模块)
  20. ALGO-7_蓝桥杯_算法训练_逆序对

热门文章

  1. 事物的四大特性(acid)
  2. windows cmd color颜色设置
  3. 为ubuntu(18.04)系统启用root用户
  4. rc-local.service服务启动失败,导致rc.local中的开机启动服务不能启动
  5. Huffman codes
  6. 访问变量的每个字节内容(c语言)
  7. poj2891 Strange Way to Express Integers poj1006 Biorhythms 同余方程组
  8. 基于神经网络的embeddding来构建推荐系统
  9. [luoguP2461] [SDOI2008]递归数列(DP + 矩阵优化)
  10. MyEclipse 6.5安装maven插件