Memilih Nod Teks dengan jQuery
Memilih nod teks turunan bagi elemen dengan jQuery memerlukan sedikit kreativiti. Walaupun jQuery tidak menawarkan fungsi khusus untuk tugasan ini, adalah mungkin untuk menggabungkan kaedah contents() dan find() untuk mencapai hasil yang diingini.
jQuery Solution
var getTextNodesIn = function(el) { return $(el).find(":not(iframe)").addBack().contents().filter(function() { return this.nodeType == 3; }); }; getTextNodesIn(el);
Kod ini mengumpulkan nod anak, termasuk nod teks, menggunakan contents(). Ia kemudian mengasingkan unsur keturunan dan nod teks menggunakan find(). Ambil perhatian bahawa penyelesaian ini memerlukan pengendalian khas untuk elemen iframe.
Penyelesaian JavaScript Tulen
Jika anda lebih suka pendekatan JavaScript tulen, fungsi berikut boleh digunakan:
function getTextNodesIn(node, includeWhitespaceNodes) { var textNodes = [], nonWhitespaceMatcher = /\S/; function getTextNodes(node) { if (node.nodeType == 3) { if (includeWhitespaceNodes || nonWhitespaceMatcher.test(node.nodeValue)) { textNodes.push(node); } } else { for (var i = 0, len = node.childNodes.length; i < len; ++i) { getTextNodes(node.childNodes[i]); } } } getTextNodes(node); return textNodes; } getTextNodesIn(el);
Fungsi ini merentasi pepohon DOM secara rekursif, mengenal pasti nod teks berdasarkan jenis nodnya. Ia membenarkan kemasukan nod ruang putih dengan menghantar parameter.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Nod Teks dalam Elemen Menggunakan jQuery atau JavaScript Tulen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!