您好,欢迎访问一九零五行业门户网

jQuery 复合选择器应用的几个例子_jquery

一. 复合选择器对checkbox的相关操作

例.需要把类型为checkbox,同时可用的元素设置成已选择
方法①使用属性过滤选择器 [type='checkbox'] 和 [disabled!=disabled]
$(input[type='checkbox'][disabled!=disabled]).attr(checked,true);
注意在这个复合选择器中,可用元素的选择应使用 disabled!=disabled,而设置属性时应使用 attr(checked,true)。disabled属性和checked属性的用法类似。
方法②使用表单选择器 :checkbox 和属性过滤选择器 [disabled!=disabled]
$('input:checkbox[disabled!=disabled]').attr(checked,true);
方法③使用表单选择器 :checkbox 和表单对象属性过滤选择器 :enabled
$(':checkbox:enabled').attr(checked,true);
方法④使用.each()遍历
$(input[type=checkbox]).each(function(){if ($(this).attr(disabled) != disabled) {$(this).attr(checked,true);}});
没用到复合选择器。需要注意的和方法①中一样,在判断属性时应该判断是disabled还是enable,而不是false或true。而设置属性时既可以用disabled或enable,也可以用false或true。
二. 复合选择器的其他例子
第一行第二行第三行第四行第五行第六行第七行
例. 把第一个class为showli的li元素背景设为红色
$(ul li[class=showli]:eq(0)).css(background:red);
结果是'第二行'的背景变成了红色。使用了属性过滤选择器 [class=showli] 和基本过滤选择器 eq(0)
例. 把第五个可见的li的背景设为红色
$(ul li:visible:eq(4)).css({display:blaock,background:red});
结果是'第六行'的背景变成了红色,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});
结果是'
第六行'的背景变成了红色。
其它类似信息

推荐信息