"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo seleccionar nodos de texto dentro de un elemento usando jQuery o JavaScript puro?

¿Cómo puedo seleccionar nodos de texto dentro de un elemento usando jQuery o JavaScript puro?

Publicado el 2025-03-24
Navegar:285

How Can I Select Text Nodes within an Element Using jQuery or Pure JavaScript?

Seleccionar nodos de texto con jQuery

Seleccionar nodos de texto descendientes de un elemento con jQuery requiere un poco de creatividad. Si bien jQuery no ofrece una función específica para esta tarea, es posible combinar los métodos contenidos () y buscar () para lograr el resultado deseado.

jQuery Solution

var getTextNodesIn = function(el) {
    return $(el).find(":not(iframe)").addBack().contents().filter(function() {
        return this.nodeType == 3;
    });
};

getTextNodesIn(el);

Este código reúne los nodos infantiles, incluidos los nodos de texto, usando contenido (). Luego aísla los elementos descendientes y los nodos de texto usando Find (). Tenga en cuenta que esta solución requiere un manejo especial para los elementos de iframe.

pura solución javascript

Si prefiere un enfoque de javascript puro, la siguiente función puede usarse:

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  

Esta función atraviesa recursivamente el árbol DOM, identificando nodos de texto basados ​​en su tipo de nodo. Permite la inclusión de nodos de espacio blanco al pasar un parámetro.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3