ব্রাউজারে ব্যবহার করবেন না
ব্রাউজারে, ব্যবহার করুন document.querySelect('[attribute-name]')
।
তবে আপনি যদি ইউনিট টেস্টিং করেন এবং আপনার উপহাসিত ডোমটিতে ফ্লেকি ক্যোয়ারী নির্বাচনী বাস্তবায়ন রয়েছে, এটি কৌশলটি করবে।
এটি @ কেভিনফাহির উত্তর, কেবল ES6 ফ্যাট অ্যারো ফাংশনগুলির সাথে এবং সম্ভবত পাঠযোগ্যতার ব্যয়ে এইচটিএমএল সংগ্রহটি একটি অ্যারেতে রূপান্তরিত করে কিছুটা ছাঁটা হয়েছে।
সুতরাং এটি কেবল একটি ES6 ট্রান্সপোর্টার দিয়ে কাজ করবে। এছাড়াও, আমি নিশ্চিত নই যে এটি প্রচুর উপাদানগুলির সাথে কতটা পারফর্মেন্ট হবে।
function getElementsWithAttribute(attribute) {
return [].slice.call(document.getElementsByTagName('*'))
.filter(elem => elem.getAttribute(attribute) !== null);
}
এবং এখানে একটি বৈকল্পিক যা একটি নির্দিষ্ট মান সহ একটি বৈশিষ্ট্য পাবে
function getElementsWithAttributeValue(attribute, value) {
return [].slice.call(document.getElementsByTagName('*'))
.filter(elem => elem.getAttribute(attribute) === value);
}