jQuery 复合选择器的几个例子
<!-- 本文例子所引用的jQuery版本为 jQuery-1.8.3.min.js Author:博客园小dee -->
一. 复合选择器对checkbox的相关操作
1 <input type="checkbox" id="ckb_1" />
2 <input type="checkbox" id="ckb_2" disabled="true" />
3 <input type="checkbox" id="ckb_3" />
4 <input type="checkbox" id="ckb_4" />
5 <input type="button" id="btn" value="点击">
例.需要把类型为checkbox,同时"可用"的元素设置成"已选择"
方法①使用属性过滤选择器 [type='checkbox'] 和 [disabled!=disabled]
$("input[type='checkbox'][disabled!=disabled]").attr("checked",true);
在这个复合选择器中,使用属性过滤选择器时"可用"元素的选择应使用 disabled!=disabled,而设置属性时可以使用 attr("checked",true)或attr("checked","checked")。
注意:在Jquery1.6以后,建议在设置disabled和checked这些属性的时候使用prop()方法而不是用attr()方法。
因此建议的写法:
$("input[type='checkbox'][disabled!=disabled]").prop("checked",true); //建议写法
方法②使用表单选择器 :checkbox 和属性过滤选择器 [disabled!=disabled]
$('input:checkbox[disabled!=disabled]').prop("checked",true);
方法③使用表单选择器 :checkbox 和表单对象属性过滤选择器 :enabled
$(':checkbox:enabled').prop("checked",true);
方法④使用.each()遍历
$("input[type=checkbox]").each(function(){
if ($(this).attr("disabled") != "disabled") {
$(this).prop("checked",true);
}
});
在判断属性时attr()方法应该判断是"disabled"还是"enable",而不是false或true。
建议的写法:
$("input[type=checkbox]").each(function(){
if ($(this).prop("disabled") == false) {
$(this).prop("checked",true);
}
});
二. 复合选择器的其他例子
<ul>
<li >第一行</li>
<li class="showli">第二行</li>
<li class="showli">第三行</li>
<li>第四行</li>
<li style="display:none">第五行</li>
<li class="showli">第六行</li>
<li>第七行</li>
</ul>
例. 把第一个class为showli的li元素背景设为红色
$("ul li[class=showli]:eq(0)").css("background":"red");
结果是'<li class="showli">第二行</li>'的背景变成了红色。使用了属性过滤选择器 [class=showli] 和基本过滤选择器 eq(0)
例. 把第五个可见的li的背景设为红色
$("ul li:visible:eq(4)").css({"display":"blaock","background":"red"});
结果是'<li class="showli">第六行</li>'的背景变成了红色,display:block是为了检测隐藏的li是否会被:visible过滤,display:none下是看不到红色背景的。使用了可见性过滤选择器 :visible
例.(比较绕的)把第二个class为showli的li后面可见的第二个li的背景设成红色
$("ul li.showli:eq(1)").nextAll("li:visible:eq(1)").css({"display":"block","background":"red"});
结果是'<li class="showli">第六行</li>'的背景变成了红色。
如需转载,请在文章页面保留此说明并且给出原文链接。谢谢!
jQuery 复合选择器的几个例子的更多相关文章
- HTML 学习笔记 JQuery(选择器)
学习前端也有一段时间了,今天终于进入到JQuery阶段了,对于新手来讲,JQuery的选择器类型之多 功能之强大实在不是一天两天能够记得完的.现在,就采用边学边记录的方式.以后要是忘了的话,也有一个地 ...
- jQuery的选择器中的通配符总结
1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']&quo ...
- JQuery(选择器、事件、DOM操作)
一.jQuery简介 jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. jQuery 库位于一个 JavaScript 文件中,其中包含了所有 ...
- 关于jquery ID选择器的一点看法
最近看到一道前端面试题: 请优化selector写法:$(".foo div#bar:eq(0)") 我给出的答案会是: 1. $("#bar") 2. $( ...
- jquery下 选择器整理
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个 ...
- jquery常用选择器(转)
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个 ...
- 【JQuery的选择器】
一.基本选择器 基本选择器是JQuery中最常用的选择器,也是最简单的选择器,它通过元素的id,class和标签名来查找DOM元素(在网页中id只能使用一次,class允许重复使用). 选择器 描述 ...
- jquery的选择器——[作为学习备用]
1,转载:https://www.cnblogs.com/onlys/articles/jQuery.html jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $(&quo ...
- jQuery选择器总结 jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法
新年第一编文章 jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值 ...
随机推荐
- js之事件冒泡和事件捕获介绍
链接:http://www.jb51.net/article/42492.htm (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. (2)捕获型事件 ...
- NGITOSS
https://sourceforge.net/projects/ngnms/files/?source=navbar http://stackoverflow.com/questions/17511 ...
- Twitter search API
Twitter crawler 与sina 微博类似,使用twitter api之前,首先要有twitter的账号,在twitter developer中创建应用(https://apps.twitt ...
- APP性能分析1
我们使用云测试平台对产品进行了性能测试,情况如下: 详见这里.
- Android中的.9.png
智能手机中经常有自动横屏的功能,同一幅界面在随着手机(或平板电脑)中的方向传感器会改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化产生拉伸,造成图形的变形.例如下面一个在竖屏时正常显 ...
- VMware Tools安装
不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少 ...
- oracle的常用函数
1. nvl NVL函数的格式如下:NVL(expr1,expr2) 含义是:如果oracle第一个参数expr1为空,那么显示第二个参数的值为expr2,如果第一个参数的值expr1不为空,则显示第 ...
- 贪心 Codeforces Round #301 (Div. 2) A. Combination Lock
题目传送门 /* 贪心水题:累加到目标数字的距离,两头找取最小值 */ #include <cstdio> #include <iostream> #include <a ...
- BZOJ1086 [SCOI2005]王室联邦(树分块)
把树的结点分块,块内结点连通且个数[b,3b]. 一遍DFS,维护一个栈,设置一个虚拟栈底以保证连通,递归返回时判断栈内元素个数是否大于等于b,是则划分为一个块,最后剩下的与最后一个块划分在一起. h ...
- 洛谷 P1147 连续自然数和 Label:等差数列
题目描述 对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M. 例子:1998+1999+2000+2001+2002 = 10000,所以从1998到2002的一个 ...