Jquery .size()> 1的简写

Jquery shorthand for .size()>1

我正在处理一个包含很多$(".blahblah").size()>0条件的代码。 我想知道是否有一个JQuery简写,它消除了输入>1的需要。

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

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

PS。 我读过这个:jQuery是否存在"存在"功能?


1
2
3
function moreThanOne(selector){
  return $(selector).length > 1;
}

解决方案是使用函数,也可以使用length而不是size()

来自Jquery的文档

The .size() method is functionally equivalent to the .length property;
however, the .length property is preferred because it does not have
the overhead of a function call.


另一个选择是

1
if($(".blahblah")[0]) { ... }

如果你的目标是减少打字


使用'has'选择器。

你可以写:

1
$(':has(.blahblah:eq(1))')

您可以像这样创建自己的exists函数:

1
2
3
function exists(selector){
  return jQuery(selector).size() > 0;
}

然后你可以使用它:

1
2
3
if (exists(".blahblah")) {
  // it exists
}

添加到jQuery fn

1
2
3
jQuery.fn.exists = function(){
    return this.length > 0;
}

使用:

1
2
3
if ($(".blahblah").exists()) {
  // it exists
}

您还可以使用length属性,不需要键入> 0

1
2
3
if ($(".blahblah").length) {
  // it exists
}