Jquery 选择器:定位带有两个 class 前缀的元素
Jquery selector: targeting an element with two class prefixes
我有一些元素在同一元素上包含两个相似的 class,例如 "col-md-3 col-md-6",我想用 jQuery select 或 select 来标识它们。
示例:
<div class="col-md-3 col-md-6"></div
如何才能 select 只有包含这两个 class 的元素?
我试过类似的东西:
$("[class*='col-md-'][class*='col-md-']").css("background", "#07BCCD")
但针对所有带有一两个 class 前缀的元素 "col-md-"
把两个 类 放在一起,不用 space:
$(".col-md-3.col-md-6").css("background", "#07BCCD");
更新:
您可以使用 filter:
var prefix = $("[class*='col-md-']").filter("[class*=' col-md-']").css("background", "#07BCCD");
没有选择器可以进行这种模式匹配。您需要匹配其中一个 类,然后使用 .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>
使用.filter()
和下面的逻辑计算两次出现,
var prefix = $(".row div").filter(function () {
return ($(this).attr('class').split('col-md-')).length > 2;
}).css("background", "#07BCCD");
我有一些元素在同一元素上包含两个相似的 class,例如 "col-md-3 col-md-6",我想用 jQuery select 或 select 来标识它们。
示例:
<div class="col-md-3 col-md-6"></div
如何才能 select 只有包含这两个 class 的元素?
我试过类似的东西:
$("[class*='col-md-'][class*='col-md-']").css("background", "#07BCCD")
但针对所有带有一两个 class 前缀的元素 "col-md-"
把两个 类 放在一起,不用 space:
$(".col-md-3.col-md-6").css("background", "#07BCCD");
更新: 您可以使用 filter:
var prefix = $("[class*='col-md-']").filter("[class*=' col-md-']").css("background", "#07BCCD");
没有选择器可以进行这种模式匹配。您需要匹配其中一个 类,然后使用 .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>
使用.filter()
和下面的逻辑计算两次出现,
var prefix = $(".row div").filter(function () {
return ($(this).attr('class').split('col-md-')).length > 2;
}).css("background", "#07BCCD");