2012-08-15 94 views
6

我希望得到所有的按鈕或鏈接accesskeys。我有以下幾點。

$(":button[accesskey!=''], :a[accesskey!='']").each(function(i) { 
//code 
}); 

你可以在這裏看到它http://jsfiddle.net/QNPZU/

我想你可以用逗號,但上面的代碼不工作將​​它們分開有多種選擇。

如果我做

$(":*[accesskey!='']").each(function(i) { 
//code 
}); 

它會工作,但我把它會有性能問題,如果DOM是巨大的?

回答

10

您可以代碼:

$("button[accesskey], a[accesskey]").each(function(i) { 
    //code 
}); 
+0

確定:按鈕已被棄用。這似乎是在主API – Karsten 2015-02-18 13:20:24

+0

@Karsten':button'和':radio'和其他幾個選擇被棄用的jQuery 1.7和jQuery開發的突然撤掉棄用通知。現在我有幾個答案,說「x選擇器已棄用」,這是不正確的了。其中之一就是這個答案。好決定。謝謝。 – undefined 2015-02-18 14:39:53

0

檢查該更新的提琴:http://jsfiddle.net/techfoobar/QNPZU/2/

有兩個問題w^ith你的代碼。

a。要選擇鏈接和按鈕,您需要使用abutton而不是:a:button

b。您只需使用a[accesskey]即可選擇帶有稱爲accesskey的屬性的項目。您不需要使用a[accesskey!=""]

+0

謝謝你的答案。結腸有什麼不同? – Decrypter 2012-08-15 09:56:16

+0

API:http://api.jquery.com/element-selector/ – techfoobar 2012-08-15 09:57:38

+1

的「:XYZ」表示法是使用像運行屬性過濾:可見,:檢查等。對於選擇給定標記的所有元素,簡單地使用API文檔中指定的標籤名稱(以前的評論) – techfoobar 2012-08-15 09:58:31