我想知道,是否有任何具體的原因,爲什麼jQuery沒有拋出任何錯誤時,沒有找到對象給定的選擇器。爲什麼jQuery沒有發現任何錯誤,當對象沒有找到
對於實施例:
$( 「#內容」)的CSS( 「顏色」, 「紅色」);
在這裏,沒有id爲「content」的元素,但它甚至沒有做任何事情甚至錯誤。
我想知道,是否有任何具體的原因,爲什麼jQuery沒有拋出任何錯誤時,沒有找到對象給定的選擇器。爲什麼jQuery沒有發現任何錯誤,當對象沒有找到
對於實施例:
$( 「#內容」)的CSS( 「顏色」, 「紅色」);
在這裏,沒有id爲「content」的元素,但它甚至沒有做任何事情甚至錯誤。
用於返回元素集合的jQuery選擇器零當找不到匹配時它是如何設計的元素。您可以使用length
屬性來檢查,如果你有元素
if($('yourselector').length)
{
//You got one or more elements
}
else
{
//You haven't got any element.
}
確實,這就是我的意思! –
只需添加,任何選擇器將始終返回一個jQuery對象,因此即使沒有匹配的元素,它也不爲null/undefined/empty。使用@ Adil的方法是確定元素是否被找到的唯一方法。 –
@RoryMcCrossan不是唯一的方法,但肯定是最好的 –
定義
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);
是的,我知道他們是真棒:) – krishgopinath
有ISN」錯誤,因爲沒有結果。 –
沒有匹配選擇器的元素不是錯誤 –