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

dwbf0jvd  于 2022-11-22  发布在  jQuery
关注(0)|答案(2)|浏览(109)

我 想 知道 , 有 没有 什么 具体 的 原因 , 为什么 jQuery 没有 抛出 任何 错误 时 , 对象 没有 找到 给定 的 选择 器 。
例如 :

$("#content").css("color","red");

中 的 每 一 个
在 这里 , 没有 id 为 " content " 的 元素 , 但 它 没有 做 任何 事情 , 甚至 没有 出错 。

kb5ga3dv

kb5ga3dv1#

返回元素集合的jQuery选择器在没有找到匹配时具有 zero 元素,这是它的设计方式。您可以使用length属性来检查是否获得了元素

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

crcmnpdw2#

  • 定义 *
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);

相关问题