Tarayıcıda kullanmayın
Tarayıcıda kullanın document.querySelect('[attribute-name]')
.
Ancak birim testi yapıyorsanız ve alay edilen dom'unuzda flakey querySelector uygulaması varsa, bu işinizi görecektir.
Bu @ kevinfahy'nin cevabı, ES6 şişman ok işlevleriyle ve belki de okunabilirlik pahasına HtmlCollection'ı bir diziye dönüştürerek biraz kısaltıldı.
Yani sadece bir ES6 aktarıcısı ile çalışacaktır. Ayrıca, birçok öğeyle ne kadar performanslı olacağından emin değilim.
function getElementsWithAttribute(attribute) {
return [].slice.call(document.getElementsByTagName('*'))
.filter(elem => elem.getAttribute(attribute) !== null);
}
Ve işte belirli bir değere sahip bir özellik alacak bir varyant
function getElementsWithAttributeValue(attribute, value) {
return [].slice.call(document.getElementsByTagName('*'))
.filter(elem => elem.getAttribute(attribute) === value);
}