Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

126
Vistas
Desactivación recursiva de todos los hijos de un elemento.

Esta podría ser una pregunta de tipo sí/no.

Estoy tratando de deshabilitar absolutamente todos los elementos secundarios de un elemento en jquery.

llama

 $('#id_of_an_element').children().do(function(){ do_something; });

llama recursivamente a todos los hijos de un elemento, o simplemente do_something a todos los descendientes directos de an_element ?

Se agradece la ayuda,

jose

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Dado un objeto jQuery que representa un conjunto de elementos DOM, el método .children() nos permite buscar a través de los elementos secundarios inmediatos de estos elementos en el árbol DOM y construir un nuevo objeto jQuery a partir de los elementos coincidentes. Los métodos .find() y .children() son similares, excepto que el último solo viaja un nivel hacia abajo en el árbol DOM. Tenga en cuenta también que, como la mayoría de los métodos de jQuery, .children() no devuelve nodos de texto; para obtener todos los elementos secundarios, incluidos los nodos de texto y comentarios, use .contents().

http://api.jquery.com/niños/

Puede hacer esto si desea actuar sobre todos los descendientes en cualquier nivel de anidamiento:

 $('#id_of_an_element').find('*').attr('disabled', true);

o usando el selector de descendientes:

 $('#id_of_an_element *').attr('disabled', true);
over 4 years ago · Santiago Trujillo Denunciar

0

Como desea afectar a todos los descendientes, simplemente haga esto:

 $('#id_of_an_element *').each(function() { // do something });

Pero me gustaría saber qué estás haciendo exactamente.

La propiedad disabled no tiene sentido para muchos tipos de elementos. Podría ser que cualquier cosa que estés haciendo se beneficie de la herencia de CSS.

O si realmente desea la propiedad disabled , también podría apuntar a elementos de form .

 $('#id_of_an_element :input').attr('disabled','disabled');
over 4 years ago · Santiago Trujillo Denunciar

0

Tu puedes hacer

 function disableChildren(obj) { obj.children().each(function(i, val) { disable(val); disableChildren(val); }); } disableChildren($("#id"));

Ver .each No parece haber un método .do .

Tendrá que implementar la disable como una función para hacer lo que quiera cuando diga "desactivar"

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda