我有一些元素,在相同的元素中包含两个类似的类,如“col-md-3col-md-6”,我想用一个jQuery选择器来标识它们。
示例:
<div class="col-md-3 col-md-6"></div
如何只选择包含这两个类的元素?
我试过这样的方法:
$("[class*='col-md-'][class*='col-md-']").css("background", "#07BCCD")
但是是针对所有具有一个或两个类前缀"col-md-"
“的元素。
小提琴js:
发布于 2015-04-09 11:07:58
没有选择器可以进行这种模式匹配。您需要匹配其中一个类,然后使用.filter()
测试它是否至少有两个匹配的类。
$("[class^=col-md-]").filter(function() {
return this.className.split(' ').filter(function(e) {
return e.indexOf('col-md-') == 0;
}).length >= 2;
}).css("background-color", "#07BCCD");
div {
height: 50px;
width: 50px;
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-md-3 col-md-6"></div>
<div class="col-md-3"></div>
发布于 2015-04-09 10:55:55
将两个类放在一起,没有空间:
$(".col-md-3.col-md-6").css("background", "#07BCCD");
更新:您可以使用过滤器
var prefix = $("[class*='col-md-']").filter("[class*=' col-md-']").css("background", "#07BCCD");
小提琴
发布于 2015-04-09 11:14:50
使用.filter()
和下面的逻辑计算两个事件,
var prefix = $(".row div").filter(function () {
return ($(this).attr('class').split('col-md-')).length > 2;
}).css("background", "#07BCCD");
小提琴
https://stackoverflow.com/questions/29536514
复制相似问题