我想知道,有什么特别的原因,为什么jQuery在找不到给定选择器的对象时不会抛出任何错误。
例如:
$( “#内容”)的CSS( “颜色”, “红色”);
这里没有id为“content”的元素,但它甚至没有做任何错误。
答案 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);