getElementsByTagName() Setara untuk TextNodes
Soalan:
Adakah terdapat kaedah yang serupa dengan getElementsByTagName() yang mendapatkan semula koleksi semua textNodes dalam dokumen?
Perbincangan:
getElementsByTagName() boleh mengumpulkan elemen dengan cekap, tetapi ia tidak meluas ke textNodes. Semasa merentasi DOM ialah pilihan yang berdaya maju, soalan ini meneroka kemungkinan penyelesaian berasaskan penyemak imbas asli.
Jawapan:
Pada masa ini tiada setara langsung dengan getElementsByTagName () untuk textNodes. Walau bagaimanapun, terdapat beberapa kaedah alternatif:
Ujian Prestasi:
Ujian prestasi mendedahkan bahawa TreeWalker berprestasi sebaik, jika tidak lebih baik daripada , getElementsByTagName(). Traversal Iteratif Tersuai juga menunjukkan prestasi yang baik. Walaupun XPath dan querySelectorAll memberikan hasil yang memuaskan, Recursive Traversal ketinggalan disebabkan rekursi yang lebih mendalam.
Cerapan Tambahan:
Walaupun kaedah asli untuk mengumpul nod teks wujud, anda masih perlu merentasi dan mengekstrak kandungan teks sebenar daripada setiap nod. Oleh itu, kesesakan prestasi bukan sahaja terletak pada lelaran melalui nod teks tetapi juga dalam memeriksa nod bukan teks untuk menentukan jenisnya.
Atas ialah kandungan terperinci Adakah Terdapat Setara getElementsByTagName() untuk Mendapatkan Semua TextNodes dalam Dokumen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!