如果没有符合条件,我如何迭代和do something
。对于Ruby中的上下文,我可以some_array.none?{|t| t == "something"}
并获得一个布尔值。
在js中,我试图用[href]道具来迭代所有元素,并且如果没有类,那就做一些事情" active"
$("[href]").each(function() {
if (this.href == window.location.href) {
$(this).addClass("active");
}
});
我执行上述操作来设置活动链接的样式,但是如果其他链接都没有,我希望将其中一个链接设置为活动状态。我是js的新手,所以我相信可能有更好的方法。
答案 0 :(得分:1)
你不能将选择器条件移动到jQuery选择器中,然后测试选择器长度吗?
var selector = $("[href=" + window.location.href + "]");
selector.each(function() {
$(this).addClass("active");
});
if(selector.length == 0) {
$("[href='/snippets/new/]").addClass("active");
}
答案 1 :(得分:0)
好的,所以我完成了我想要的东西,但它有点hacky和丑陋,所以我仍然愿意接受替代方案
var counter = 0;
$("[href]").each(function() {
if (this.href == window.location.href) {
counter = +1;
$(this).addClass("active");
}
});
if (counter === 0) {
$("[href='/snippets/new']").addClass("active");
}