2011-08-03 7 views

Respuesta

243

Probar:

$('#mydiv').find('.myclass'); 

JS Fiddle demo.

O:

$('.myclass','#mydiv'); 

JS Fiddle demo.

O:

$('#mydiv .myclass'); 

JS Fiddle demo.

Referencias:

+1

el segundo dos uno no funcionará, pero el hallazgo está bien. El segundo dos uno seleccionará cada clase = myclass y seleccionará cada id = mydiv) creo. – czupe

+2

@czupe: no, mientras que el enfoque del selector de contexto se escribe de forma diferente jQuery implementa, internamente, el mismo enfoque '$ ('# mydiv'). Find ('.mitlass');' como se usa en el primer fragmento de código. Por cierto: '... seleccione cada 'id = mydiv''?Solo debería haber * siempre * un uso de un 'id' determinado en una página (un 'id' [*** debe *** ser único dentro del documento] (http://www.w3.org/TR/ html401/struct/global.html # h-7.5.2)). –

+0

@DavidThomas Bueno, acabo de probar $ ('# mydiv .myclass'); y eso terminó seleccionando todos los divs que tienen la clase myclass en lugar de solo los divs dentro de mydiv. – user3281466

19

probar este

$("#mydiv div.myclass") 
+0

O si no te importa si es un 'div' (o si siempre será un' div ') puedes simplificar a $ (" # mydiv .myclass "). –

+0

@Michael - Sí, podemos decir .mycalss, pero si sabemos que es un div, div.myclass hará que la búsqueda sea más rápida. – ShankarSangoli

+0

@Shankar, lo más probable es que no lo haga más rápido, más lento. suponiendo que jquery use sizzle y no un 'document.queryselectorall' nativo, probablemente buscará de la misma manera y en su caso realizará una comprobación ** extra **. Es posible que las implementaciones nativas hagan lo mismo. – davin

10

que va a hacer de la misma manera que se aplicaría un selector CSS. Para instanse que puede hacer

$("#mydiv > .myclass") 

o

$("#mydiv .myclass") 

El último coincidirá con cada miclase dentro myDiv, incluyendo miclase dentro miclase.

1

intente esto en su lugar $(".video-divs.focused"). Esto funciona si buscas video-divs que estén enfocados.

-2

más eficiente y más rápido ... uno es

$('#mydiv').find('.myclass').html('<span>Hello World</span>'); 
+1

Agregar una respuesta casi idéntica, a la aceptada, más de 3 años después, realmente no agrega ningún valor para nadie (excepto sus amigos de votaciones ascendentes en serie): P –

3

Si desea seleccionar todos los elementos que tiene atributo de clase "miclase" uso

$('#mydiv .myclass'); 

Si desea seleccionar sólo los elementos div que tiene el atributo de clase "myclass" use

$("div#mydiv div.myclass"); 

encuentre más acerca de los selectores de jquery consulte estos articles

Cuestiones relacionadas