簡體   English   中英

檢查if語句中是否存在具有data屬性的范圍

[英]Checking if a span with data attribute exists in if statement

我正在嘗試搜索是否存在具有指定用戶名的數據屬性“ datanamed”的任何元素。

代碼如下:在if語句中,它不能正常工作。

if($('*[datanamed=" + username + "]') === undefined){ 

}
else {

}

jQuery返回一個jQuery對象,它不能是undefined ,您應該改用重新調整后的jQuery對象的length屬性,另外請注意,如果username是一個變量,則代碼中的字符串連接是錯誤的,標准IDE可能會顯示問題( 缺少引號 ):

if ( $('*[datanamed="' + username + '"]' ).length === 0 ) { 
   // doesn't exist
} else {
   // exists
}

請注意,通用選擇器*非常昂貴。 在過濾之前,它將選擇DOM中所有現有的元素。 如果只有幾個元素可以具有此屬性,則可以使用.filter()方法:

if ( $('a, div, span').filter('[datanamed="' + username + '"]').length === 0 ) { 
   // doesn't exist
} else {
   // exists
}

PS :HTML5 data-*屬性的正確語法是data-* ,您的屬性無效。 它應該以data-named

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM