在試圖選擇具有任何屬性的元素時,以下內容會引發jQuery語法錯誤。是否有一個jQuery選擇器來檢查標籤是否有任何屬性?
$("div[*]")
是否有選擇器來檢查標籤是否有任何屬性?
使用jQuery 1.3測試
在試圖選擇具有任何屬性的元素時,以下內容會引發jQuery語法錯誤。是否有一個jQuery選擇器來檢查標籤是否有任何屬性?
$("div[*]")
是否有選擇器來檢查標籤是否有任何屬性?
使用jQuery 1.3測試
我與阿里爾Popovsky的建議去使用過濾器,但如果我需要這在很多地方,我會用創建客戶選擇的petersendidit的建議。
(重要的)區別在於需要檢查.specified屬性。 IE始終返回超過80個屬性。
注意:即使這不是100%。有一些屬性,如INPUT .value,這是特殊情況,但由於我使用的是DIV,因此我可以忽略它們。
$("div").filter(function()
{
for (var i = 0; i < this.attributes.length; i++)
{
var attr = this.attributes[i];
if (attr.specified)
{
return true;
}
}
return false;
})
我不這麼認爲,但這應該做的伎倆
$('*').filter(function(){return this.attributes.length;})
和相反:
$('*').filter(function(){return !this.attributes.length;})
也許if($('.class').attr('*:attr').length > 0)
你可以創建您自己的選擇器,無任何屬性:
$.expr[':'].noAttrs = function(objNode ){
if (objNode.attributes.length) return(true);
return(false);
}
$("div:noAttrs")
attr方法不能做那樣的選擇http://api.jquery.com/attr/ – PetersenDidIt 2010-03-15 15:49:35