2009-07-05 13 views
5

1.) ¿Cuál es la diferencia entre estas dos consultas, exactamente?Surtido de preguntas de jQuery

$("#orderedlist li") 
$("#orderedlist>li") 

2.) En el jQuery archivo en sí no es una función que devuelve lo siguiente:

function now(){ 
    return +new Date; 
} 

¿Qué significa eso? Nunca he visto + nuevo antes.

3.) En una breve desnatado de un tutorial, he observado las siguientes muestras:

// use this to reset a single form 
$("#reset").click(function() 
{ 
    $("form")[0].reset(); 
}); 

// use this to reset several forms at once 
$("#reset").click(function() 
{ 
    $("form").each(function() 
    { 
     this.reset(); 
    }); 
}); 

Cuando intento hacer referencia a mis propias consultas por los índices de matriz, que no parecen funcionar. Sin embargo, este ejemplo claramente lo hizo cuando lo probé. ¿Qué podría estar haciendo mal?

Editar: Voy a poner esto en su propia pregunta pronto. Editar 2: De hecho, es posible que yo mismo pueda depurarlo. Espera ...

He adivinado cada uno de estos, pero a menos que haya diseccionado el archivo jQuery en su totalidad, no estoy completamente seguro de lo que está en juego aquí. Ayuda apreciada.

+3

Creo que estas preguntas deben formularse por separado. – SilentGhost

Respuesta

8

Pregunta # 1:

  • #orderedlist li es un "selector de descendiente": un li en cualquier lugar dentro de un #orderedlist.
  • #orderedlist>li es un "selector de niños": un li que es un hijo directo de #orderedlist.

Pregunta # 2:

Eso está usando el operador unario mas - es equivalente a:

return Number(new Date); 

véase: http://xkr.us/articles/javascript/unary-add/ - Da el número de milisegundos desde el tiempo UNIX.

Pregunta # 3:

no sé acerca de esto. ¿Podría publicar un ejemplo de falla mínima?

+1

+1 no sabía acerca de ese operador unario plus –

3
  1. La diferencia está en los selectores CSS en general, no jQuery específicamente. "#orderedlist li" seleccionará cualquier elemento LI debajo del elemento #orderedlist en el árbol. "#orderedlist> li" solo seleccionará el LI si es hijo directo de #orderedlist.

  2. El operador + es simplemente un atajo común para convertir una cadena a un número en JavaScript. Por ejemplo, + "1" + 1 devolverá 2, no 11.

  3. No estoy seguro de esto de forma espontánea sin ver el ejemplo que no funciona.