我正在研究一个包含很多$(".blahblah").size()>0
条件的代码。我想知道是否有一个JQuery简写,无需键入>1
。
这里有一个建议:http://forum.jquery.com/topic/selector-exists-would-be-a-nice-addition
$(...).exists()
之类的东西可以派上用场。有这样的事吗?我无法在互联网上找到它,我想知道是否有人知道一个技巧或JQuery团队的任何人知道是否计划添加这样的功能?
答案 0 :(得分:3)
function moreThanOne(selector){
return $(selector).length > 1;
}
解决方法是使用此功能,您也可以使用length
代替size()
。
来自Jquery的文档
.size()方法在功能上等同于.length属性; 但是,.length属性是首选,因为它没有 函数调用的开销。
答案 1 :(得分:1)
另一种选择是
if($(".blahblah")[0]) { ... }
如果您的目标是减少打字
答案 2 :(得分:0)
您可以像这样创建自己的exists
函数:
function exists(selector){
return jQuery(selector).size() > 0;
}
然后您就可以使用它:
if (exists(".blahblah")) {
// it exists
}
添加到jQuery fn
:
jQuery.fn.exists = function(){
return this.length > 0;
}
使用:
if ($(".blahblah").exists()) {
// it exists
}
您还可以使用不需要输入length
的{{1}}属性:
> 0
答案 3 :(得分:0)
使用'has'选择器。
你可以写:
$(':has(.blahblah:eq(1))')