我想知道,是否有任何具体原因,为什么 jQuery 在找不到给定选择器的对象时不会抛出任何错误。
例如:
$("#content").css("color","red");
在这里,没有 ID 为“内容”的元素,但它没有做任何事情,甚至是错误。
我想知道,是否有任何具体原因,为什么 jQuery 在找不到给定选择器的对象时不会抛出任何错误。
例如:
$("#content").css("color","red");
在这里,没有 ID 为“内容”的元素,但它没有做任何事情,甚至是错误。
jQuery 选择器用于在未找到匹配项时返回元素集合为零元素,这就是它的设计方式。您可以使用length
属性来检查是否有元素
if($('yourselector').length)
{
//You got one or more elements
}
else
{
//You haven't got any element.
}
定义
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);