¿Cuál es la forma más fácil de obtener la profundidad de un elemento en JavaScript puro o jQuery? Por "profundidad" me refiero a cuántos elementos se anida profundamente, o cuántos antepasados tiene.JS/jQuery: Obtener la profundidad del elemento?
Respuesta
¿Qué tal:
$('#my-element').parents().length
intentar algo como esto:
<html>
<head>
<title>MooExample</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("li").click(function() {
alert($(this).parents().length);
});
});
</script>
</head>
<body>
<ul>
<li>moo</li>
<li>foo</li>
<li>fasoo</li>
<li>moasf</li>
<li>moosadg</li>
<li>moo1</li>
<li>moo412</li>
<li>moo613a</li>
</ul>
</body>
</html>
Suponiendo que no desea incluir cuerpo y la etiqueta HTML en los padres para contar su uso:
$("#element").parents("*").not("body,html").size()
Demostración en línea aquí: http://jsfiddle.net/zaJff/
Mi consejo sería reconsiderar la forma en que resuelve su problema: creo que encontrar el número de generaciones entre los nodos probablemente no sea la mejor manera de hacerlo, parece una solución que probablemente se rompa fácilmente con los cambios futuros. al código
Si insiste, sin embargo, la solución (por Cletus, en javascript nativo) parece bastante bueno en esta página: find number of nodes between two elements with jquery?
¿Cuándo sería incorrecta la solución de polarblau? Cada elemento solo puede tener un elemento primario, por lo que, lógicamente, si está contando el número de antepasados, entonces siempre debería ser correcto. Sin embargo, me olvido de por qué incluso hice la pregunta ... probablemente fue un mal enfoque. – mpen
En realidad, ahora que pienso en esto, estás en lo cierto, corrigiendo mi comentario. –
Una nota adicional. Si desea obtener la profundidad relativa a un determinado contexto que puede hacer:
var depth = $("#my-element","#ContextContainerID").parents("ul").length;
arriba, estoy en busca de cuántos UL'S están dentro del contenedor #ContextContainerID
- 1. ¿Cómo obtener la profundidad del nodo actual en JTree?
- 2. Obtener la altura completa del elemento?
- 3. Obtener la distancia del elemento relativo a su elemento padre
- 4. Obtener atributo del elemento hijo
- 5. Obtener propiedades del elemento VB
- 6. Obtener el nombre del elemento
- 7. Profundidad de salida del nodo actual en la jerarquía
- 8. SubVersion cambie a la profundidad
- 9. ¿Cómo obtener html() del elemento excluyendo otro elemento?
- 10. Obtener ruta CSS del elemento DOM
- 11. jQuery - obtener el elemento del vecindario
- 12. Obtener SPWeb actual del elemento web
- 13. Javascript: obtener la posición del mouse relativo al elemento principal
- 14. Obtener la etiqueta del elemento seleccionado en ComboBox WPF
- 15. Jquery obtener la altura del elemento de altura automática
- 16. Obtener la opción seleccionada del elemento de selección
- 17. Cómo obtener la altura de un elemento del cuerpo
- 18. Cómo obtener la posición del elemento transformado con css rota
- 19. Java - Obtener posición del elemento en la matriz
- 20. Obtener la clave del último elemento en una matriz
- 21. Javascript - Obtener posición del elemento de la matriz
- 22. Obtener la altura de línea del elemento sin 'px'
- 23. Obtener la posición del texto dentro de un elemento
- 24. Complejidad del tiempo del algoritmo del gráfico profundidad-primer
- 25. precisión del mapa de profundidad de opencv
- 26. Limitaciones de profundidad del árbol de expresiones
- 27. SVN profundidad de la obtención
- 28. copia en profundidad del registro de la doctrina
- 29. Obtener carpetas con PHP glob - niveles ilimitados profundidad
- 30. Solución para escribir el valor del búfer de profundidad/profundidad en OpenGL ES 2.0
http://stackoverflow.com/ questions/748842/how-to-get-all-element-parents-using-jquery – mplungjan