`

Jquery选择器的一些特殊情况

阅读更多

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

按命名规则属性值中是不能出现这些特殊字符的,但是在实际情况中偶尔也会遇到。如果按照普通方式去处理出来的话一定会报错,解决的办法可以使用转义符进行转义。如:

/*
HTML:
<div id="test#1">1111111</div>
<div id="test[2]">2222222</div>
*/

//普通处理方式
var id1 = $("#test#1");
var id2 = $("#test[2]");
alert(id1+"\n"+id2);//两个Object
alert(id1.text()+"\n"+id2.text());//alert出来空,没有数据
		
//转义
var id3 = $("#test\\#1");
var id4 = $("#test\\[2\\]");
alert(id3+"\n"+id4);//两个Object
alert(id3.text()+"\n"+id4.text());//1111111  2222222

(说明:上面的测试代码用的Jquery1.4.2版本。有时候转义可能因为Jquery版本的问题导致转义失效。)

 

2、属性选择器的@问题:

有时候在代码里面可能看到某个属性过滤器前面有个@符号,这个@符号在Jquery1.3.1之前的可能有用(跟一般的属性选择权一样),之后的版本都不再支持@,所以在使用1.3.1以上版本时,就不能在属性前添加@符号,如:

/*
HTML:
<div id="test3">3333333</div>
*/

//以前的:
$("div[@id='test3']");

//现在的:
$("div[id='test3']");

  

3、选择器中含有空格的问题:

选择器中有空格,通常会理解成子孙后代元素,没有空格的只会想成是当前元素的过滤条件。因此有无空格效果会截然不同。如:

/*
HTML:
<div class="test">
	<div style="display:none;">11111</div>
	<div style="display:none;">22222</div>
	<div style="display:none;">33333</div>
	<div class="test" style="display:none;">44444</div>
  </div>

  <div class="test" style="display:none;">55555</div>
  <div class="test" style="display:none;">66666</div>
*/

var $t_1 = $(".test :hidden");//带空格的
var $t_2 = $(".test:hidden");//不带空格的
alert($t_1.length);//4
alert($t_2.length);//3

有空格的得到4,是因为选取class为“test”的元素里面的隐藏元素,hidden是用来修饰test里面的元素的,即11111、22222、33333、44444四个不显示的DIV。

没有空格的得到3,是因为选取隐藏的class为"test"的元素,hidden修饰的是test本身,即44444、55555、66666三个隐藏的DIV。

 

分享到:
评论

相关推荐

    jQuery选择器中的特殊符号处理方法

    一般情况下,在jQuery选择器中,我们很少会用到诸如“.”、“#”、“(”、“[”等特殊字符,因为根据W3C规定,HTML文档中属性的值是不能包含有这些个特殊字符的,但是在实际应用中,偶尔也会遇到表达式中含有“#”和...

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

    一、选择器中含有特殊符号的注意事项 1.选择器中含有“.”、“#”、“(”或“]”等特殊字符 根据W3C的规定,属性值中是不能含有这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有“#”和“.”等特殊字符,...

    锋利的jQuery_高清_书签.part2

    2.1 jQuery选择器是什么 2.2 jQuery选择器的优势 2.3 jQuery选择器 2.3.1 基本选择器 2.3.2 层次选择器 2.3.3 过滤选择器 2.3.4 表单选择器 2.4 应用jQuery改写示例 2.5 选择器中的一些注意事项 2.5.1 选择器中含有...

    Jquery学习笔记分享

    第2章. jQuery选择器 4 1. jQuery优点 4 2. 基本选择器 4 3. 层次选择器 4 4. 过滤选择器 5 5. 内容过滤选择器 5 6. 可见性过滤选择器 5 7. 属性过滤选择器 6 8. 子元素过滤选择器 6 9. 表单对象属性过滤选择器 7 10...

    jQuery权威指南-源代码

    2.2 jQuery选择器详解/17 2.2.1 基本选择器/18 2.2.2 层次选择器/20 2.2.3 简单过滤选择器/22 2.2.4 内容过滤选择器/25 2.2.5 可见性过滤选择器/27 2.2.6 属性过滤选择器/28 2.2.7 子元素过滤选择器/30 ...

    【推荐】高清jquery视频教程下载

    1:教程概述 2:配置站点 3:jquery缩写 4:基本选择器1 5:基本选择器2 6:基本选择器3 7:基本选择器4 8:层次选择器1 9:层次选择器2 10:层次选择器3 11:层次选择器4 12:过滤选择器1 13:过滤选择器2 14:过滤选择器3 15:...

    初始jQuery

    4. jQuery代码中常见的元素包括工厂函数、选择器和方法 5. jQuery程序代码的特殊:包含$符号和连缀操作 6. 每个页面都有对应的DOM模型,DOM模型包括元素节点、文本节点和属性节点 7. 可以将DOM对象转换成jQuery对象...

    超实用的jQuery代码段

    超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝...11.29 在类选择器前用标签选择器加快速度 11.30 缓存jQuery对象以提升性能 11.31 使用find()函数提升子查询的性能 11.32 使用jQuery操作DOM的限制

    关于jQuery参考实例2.0 用jQuery选择元素

    在支持绝大多数CSS1-3规范中的选择器之外,jQuery还增加了很多自定义的选择器来根据一些特殊的状态选择元素;与此同时,我们还可以自己编写选择器。 在文档中定位某个元素或者某些元素的最简单的方法,是使用jQuery...

    jQuery特殊符号转义的实现

    我们在使用jquery选择器的时候 对一些ID属性中有特殊符号的地方需要进行转义。 列举部分如下: &lt;input id="entity.username" type="text" value="hello" /&gt; alert&#40;$("#entity\\.username"&#41;.val()); &...

    jQuery权威指南366页完整版pdf和源码打包

    jquery 选择器/12 2.1 jquery选择器概述/13 2.1.1 什么是选择器/13 2.1.2 选择器的优势/13 2.2 jquery选择器详解/17 2.2.1 基本选择器/18 2.2.2 层次选择器/20 2.2.3 简单过滤选择器 2.2.4 内容过滤...

    jQuery和Ajax

    关于jQuery和Ajax的简单介绍,可以学到jQuery特殊选择器和方法等的类型以及应用。

    jquery-1.1.3 效率提高800%

    在 jQuery 1.2中,可以在URL参数中指定一个jQuery选择器,这会过滤返回的HTML文档,只取得文档中匹配选择器的元素。此语法类似于"url #some &gt; selector"。 实例 载入文档的sidebar的导航部分到一个无序列表...

    深入PHP与jQuery开发 pdf格式

    你也将学到jQuery的基本工作原理,包括它如何在项目中应用,以及它的内核(强大的选择器引擎)如何工作。 1.1 为什么选择jQuery 在Web应用中,JavaScript以难以驾驭闻名。浏览器兼容性差、难以调试,又有着使人...

    jquery子元素过滤选择器使用示例

    jquery子元素过滤选择器在某些特殊的情况下还是比较实用的,下面为大家介绍下具体的使用方法,感兴趣的各位可以参考下哈

    esyFileManager:php Ajax jQuery 文件管理器

    EsyFileManager 不需要在服务器上进行特殊安装,并且非常容易安装您可以使用 esyfilemanager 在输入字段中选择文件。 EsyFileManager 可以用作像 cKeditor 这样的 WysWyg 文本编辑器的插件该软件是在和开源下...

    jQuery :first选择器使用介绍

    :first:获取第一个元素,在一些特殊情况下还是蛮实用的,下面为大家详细介绍下:first的具体使用,感兴趣的朋友可以参考下

    基于jquery js自定义sql条件查询

    可以自由选择查询字段、条件条件、条件值,选择与或关系,包括括号优先的使用。根据查询字段不同,查询条件值的动态改变,如日期控件、下拉框、可输入的文本框。参考使用的童鞋可以再优化下,使之更人性化。 呵呵。...

Global site tag (gtag.js) - Google Analytics