Jquery .size()> 1的简写

时间:2012-04-11 06:59:01

标签: jquery

我正在研究一个包含很多$(".blahblah").size()>0条件的代码。我想知道是否有一个JQuery简写,无需键入>1

这里有一个建议:http://forum.jquery.com/topic/selector-exists-would-be-a-nice-addition

$(...).exists()之类的东西可以派上用场。有这样的事吗?我无法在互联网上找到它,我想知道是否有人知道一个技巧或JQuery团队的任何人知道是否计划添加这样的功能?

PS。我读过这个:Is there an "exists" function for jQuery?

4 个答案:

答案 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))')