Alternatif Asli untuk querySelectorAll untuk Pemilihan Atribut
Soalan:
Bagaimana anda boleh meniru kefungsian document.querySelectorAll('[data-foo]') tanpa ketersediaan querySelectorAll() dalam IE7 atau lebih awal?
Penyelesaian:
Untuk menangani keserasian ini isu, anda boleh mencipta fungsi tersuai, getAllElementsWithAttribute, yang melaksanakan pemilihan atribut yang diperlukan menggunakan kaedah getElementsByTagName() asli:
function getAllElementsWithAttribute(attribute) { var matchingElements = []; var allElements = document.getElementsByTagName('*'); for (var i = 0, n = allElements.length; i < n; i++) { if (allElements[i].getAttribute(attribute) !== null) { matchingElements.push(allElements[i]); } } return matchingElements; }
Dengan menggunakan fungsi ini dengan atribut yang dikehendaki (cth., getAllElementsWithAttribute('data- foo')), anda boleh mendapatkan tatasusunan elemen yang mempunyai atribut yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Elemen dengan Atribut Khusus dalam IE7 dan Terdahulu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!