是的,但它不存在於所有的瀏覽器。舊版本的Internet Explorer(即版本8之前)不支持它。函數是querySelectorAll
(或單個元素爲querySelector
),它允許您使用CSS選擇器來查找元素。
document.querySelectorAll('[property]'); // All with attribute named "property"
document.querySelectorAll('[property=value]'); // All with "property" set to "value" exactly.
(Complete list of attribute selectors on MDN.)
此找到與特性屬性的所有元素。這將是最好指定標記名稱如果可能的話:
document.querySelectorAll('span[property]');
如有必要,您可以解決此通過網頁上的所有元素循環,看他們是否有該屬性設置:
var withProperty = [],
els = document.getElementsByTagName('span'), // or '*' for all types of element
i = 0;
for (i = 0; i < els.length; i++) {
if (els[i].hasAttribute('property')) {
withProperty.push(els[i]);
}
}
像jQuery這樣的庫可以爲你處理這個問題:讓它們完成繁重的工作可能是一個好主意。
你能否解釋一下爲什麼你需要做的是專門這樣?這是非常低效的,並有更好的方法來處理它。 – 2011-10-04 16:44:38