jquery选择器之属性过滤选择器详解

本篇文章主要是对jquery选择器之属性过滤选择器进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

代码如下:

复制代码代码如下:

<body>
   <div>
      <p>Hello</p>
   </div>
   <div id="test">ID为test的DIV</div>
   <input type="checkbox" id="s1" name="football" value="足球" />足球
   <input type="checkbox" name="volleyball" value="排球" />排球
   <input type="checkbox" id="s3" name="basketball" value="篮球" />篮球
   <input type="checkbox" id="s4" name="other" value="其他" />其他
</body>


1. [attribute]用法
定义:匹配包含给定属性的元素

代码如下:

$("div[id]").addClass("highlight"); //查找所有含有ID属性的div元素


2. [attribute=value]用法
定义:匹配给定的属性是某个特定值的元素

代码如下:

$("input[name='basketball']").attr("checked",true);   //name属性值为basketball的input元素选中 


3. [attribute!=value]用法
定义:匹配给定的属性是不包含某个特定值的元素

代码如下:

$("input[name!='basketball']").attr("checked",true);   //name属性值不为basketball的input元素选中 
//此选择器等价于:not([attr=value])要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])
$("input:not(input[name='basketball'])").attr("checked",true);


4. [attribute^=value]用法
定义:匹配给定的属性是以某些值开始的元素

代码如下:

$("input[name^='foot']").attr("checked",true);  //查找所有 name 以 'foot' 开始的 input 元素


5. [attribute$=value]用法
定义:匹配给定的属性是以某些值结尾的元素

代码如下:

$("input[name$='ball']").attr("checked",true); //查找所有 name 以 'ball' 结尾的 input 元素


6. [attribute*=value]用法
定义:匹配给定的属性是以包含某些值的元素

复制代码代码如下:

$("input[name*='sket']").attr("checked",true);  //查找所有 name 包含 'sket' 的 input 元素


7. [selector1][selector2][selectorN]用法
定义:复合属性选择器,需要同时满足多个条件时使用

代码如下:

$("input[id][name$='ball']").attr("checked",true);  //找到所有含有 id属性,并且它的 name属性是以 ball结尾的

7. 查找style不为none的元素

//方式1:
$menu.find('.menu-item[style!="display: none"]');
//方式2:如果元素的style还含有其他的样式,那么上面的就不合适了,可以如下:style中不包含有
$menu.find('.menu-item:not([style*="display: none"])');//注:not过滤选择器后面必须带()

猜你喜欢

转载自my.oschina.net/u/2331760/blog/1808886
今日推荐