CSS选择器允许一件事而不允许另一件事
CSS selector to allow one thing but not another?
简而言之,我试图根据id获取项目的子集合。我试图获取1-1, 1-1-0, 1-1-1
,但没有获取1-19, 1-19-0, 1-19-1
。有什么办法做到这一点吗?
$(function(){
// grabs all items but only want 1-1 items.
$('[data-parent-id^=1-1]').prop('checked',true);
// does not grab the first item 1-1.
$('[data-parent-id^=1-2-]').prop('checked',true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div>
<input type="checkbox" data-parent-id="1-1">
<input type="checkbox" data-parent-id="1-1-0">
<input type="checkbox" data-parent-id="1-1-1">
<input type="checkbox" data-parent-id="1-19">
<input type="checkbox" data-parent-id="1-19-0">
<input type="checkbox" data-parent-id="1-19-1">
</div>
<div>
<input type="checkbox" data-parent-id="1-2">
<input type="checkbox" data-parent-id="1-2-0">
<input type="checkbox" data-parent-id="1-2-1">
<input type="checkbox" data-parent-id="1-29">
<input type="checkbox" data-parent-id="1-29-0">
<input type="checkbox" data-parent-id="1-29-1">
</div>
如果我正确理解你的问题,这将起到作用:
$('[data-parent-id="1-1"], [data-parent-id^="1-1-"]').prop('checked',true);
说明:选择器的第一部分正好得到1-1
,第二部分得到以1-1-
开头的任何内容。
我认为Mooseman的解决方案是最简单的。您还可以使用regex并更精确地筛选元素:http://jsfiddle.net/6hfryod2/.
$(function(){
$("div > input[type='checkbox']").filter(function(index) {
return /^(1-1)$|^(1-1-)/gi.test($(this).attr("data-parent-id"));
}).prop("checked", true);
});
这里有一种方法,使用:not
选择器:
$('[data-parent-id^=1-1]:not([data-parent-id^=1-19])').prop('checked',true);
其中:
[data-parent-id^=1-1]
匹配以1-1
开头的所有属性:1-1
1-1-0
1-1-1
1-19
1-19-0
1-19-1
:not([data-parent-id^=1-19])
排除以1-19
开头的所有属性:1-19
1-19-0
1-19-1
相关文章:
- Don'不允许将焦点集中在自动完成的选择上
- 当点击另一件事时,将焦点设置为一件事
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- 复选框:一次只允许单击一个复选框
- js文件未加载js控制台say's”;不允许加载本地资源”;
- Jquery不允许来自多个选择列表的相同值
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- JavaScript Array unshift() 以一种不可变的方式
- 不允许在文本框中使用小数
- TinyMCE全屏不允许出现模式窗口
- 就良好实践而言,带闭包的javascript原型是一件好事吗
- 不允许在字段中输入不需要的字符
- 访问控制允许标头不允许X-Requested-Wise
- Chromium内联样式不允许正确的视图
- Youtube API,除声音控件外,不允许控件
- 双击时设置内容可编辑 - IE 不允许编辑,除非再单击一次
- CSS选择器允许一件事而不允许另一件事
- 显示 HTML5 视频控件,但不允许用户更改任何内容
- javascript中太多的自调用函数是不是一件坏事?
- 只允许一次,不允许与任何其他混合