Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: BlackZeroX en 22 Julio 2011, 07:44 AM

Título: Una ligera duda...
Publicado por: BlackZeroX en 22 Julio 2011, 07:44 AM
.
Que significa la linea que resalto?

Código (ajax,3) [Seleccionar]


var k=function(){
    var l=$("#dtmain_outer, #hatdoiwas_outer");
    if(l.length>0){
    l.remove();
    C.utils.third_party_addon_detected()
}
setTimeout(k,1000)



No tengo ni idea que significa $( alguien lo sabe? entiendo absolutamente TODO pero mi problema radica en el problema que ya mencione.

Dulces Lunas!¡.
Título: Re: Una ligera duda...
Publicado por: bomba1990 en 22 Julio 2011, 07:53 AM
el $() es lo mismo que jquery(), y lo que hay dentro son dos selectores, los dos selectores son de id. y esa funcion lo que hace es eliminar lo que haya de esos dos selectores en el documento.
Título: Re: Una ligera duda...
Publicado por: WHK en 22 Julio 2011, 08:07 AM
es como css, cuando dices .algo llamas al atributo class="" pero si dices #algo llamas al atributo id=""

var l=$("#dtmain_outer, #hatdoiwas_outer");

l es igual a un array de objetos donde esos objetos son tags o sea divs, tablas, span, etc que tengan el id dtmain_outer y hatdoiwas_outer.

if(l.length>0){
Si la cantidad de objetos encontrados es mayor a cero entonces

l.remove();
Los elimina.

http://api.jquery.com/remove/

setTimeout(k,1000)
Quiere decir que hace todo esto cada 1 segundo pero se ve que el que hizo el código no tiene buenas costumbres ya que normalmente esta función debería ser llamada dentro de otras funciones o acciones en tiempo de ejecución, no tener timers para ver que cosa dejar o que no dejar.

Que pasa si justo dentro del lapso de ese segundo se hace algo inesperado y rompe el código?