digamos que tengo un marcado como este:
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
y quiero seleccionar #moo.
¿Por qué $('#foo').find('span')
funciona, pero $('span', $('#foo'));
no?
digamos que tengo un marcado como este:
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
y quiero seleccionar #moo.
¿Por qué $('#foo').find('span')
funciona, pero $('span', $('#foo'));
no?
$('#moo')
? ;) Por cierto. funciona: jsfiddle.net/fkling/k5X2rvar ele = $("div #foo")
cómo puede llegar a moo desde aquí (sin usar referencias de matriz)?Respuestas:
Puede utilizar cualquiera de estos [empezando por el más rápido]
Echar un vistazo
fuente
En realidad, $ ('# id', this); seleccionaría #id en cualquier nivel descendiente, no solo el hijo inmediato. Prueba esto en su lugar:
o
o
fuente
moo
, no la clase..children()
, y.find()
son similares excepto que los antiguos recorridos sólo un nivel abajo del DOM sub-árbol.¿Por qué no usar simplemente:
o
$('span', $('#foo'));
funciona bien en mi máquina;)fuente
$($(elementA), 'tr#' + key + ' span')
no me funciona (jQuery 1.10.2)Puede usar la
find
opción para seleccionar un elemento dentro de otro. Por ejemplo, para encontrar un elemento con id txtName en un div particular, puede usar likefuente
Eche un vistazo aquí para consultar un subelemento de un elemento :
$(document.getElementById('parentid')).find('div#' + divID + ' span.child');
fuente
Este método se llama para proporcionar contexto de selector .
En esto, proporciona un segundo argumento al selector de jQuery . Puede ser cualquier cadena de objeto css como pasaría para la selección directa o un elemento jQuery.
p.ej.
La línea anterior seleccionará todos los tramos dentro del contenedor que tiene la clase nombrada
cont1
.MANIFESTACIÓN
fuente
ambos parecen estar funcionando.
ver violín: http://jsfiddle.net/maniator/PSxkS/
fuente