为什么jQuery在找不到对象时不会抛出任何错误

时间:2013-07-26 09:47:12

标签: jquery

我想知道,有什么特别的原因,为什么jQuery在找不到给定选择器的对象时不会抛出任何错误。

例如:

$( “#内容”)的CSS( “颜色”, “红色”);

这里没有id为“content”的元素,但它甚至没有做任何错误。

2 个答案:

答案 0 :(得分:6)

jQuery选择器,用于返回元素集合,当找不到匹配项时,它具有元素。您可以使用length属性来检查是否有元素

if($('yourselector').length)
{
    //You got one or more elements
}
else
{
   //You haven't got any element.
} 

答案 1 :(得分:1)

定义

jQuery.fn.extend({
      notEmpty: function (atLeast) {
          const len = atLeast || 1;
          if (this.length < len)
              throw `unable to find ${len} element with selector : 
              '${this.selector}'. ${this.length} element is found.`;
          return this;
      }
  });

使用

let el = $(".at_least_one_element_selector").notEmpty();       
let el = $(".at_least_5_element_selector").notEmpty(5);