2009-07-27 30 views
23

Tengo un problema para seleccionar y filtrar elementos dentro de un div.jQuery seleccionar y filtrar elementos dentro de un div

HTML:

<div id="wrapper"> 
    <input type="text" value="you can edit me"> 
    <input type="button" value="click me"> 
</div> 

jQuery:

$("#wrapper").children().click(function() { 
    alert("hi there"); 
}); 

El problema se me sale una alerta cada vez que hago clic en cualquier cosa dentro de la div.
Pero mi requisito es alertar solo cuando el usuario haga clic en el botón.
sé que el filtrado de los elementos en jQuery está utilizando :button

Esto es lo que he intentado:

$("#wrapper").children(":button").click(function() { 
    alert("hi there"); 
}); 

y

$("#wrapper").children().filter(":button").click(function() { 
    alert("hi there"); 
}); 

no funcionó

Alguien sabe ¿como hacer esto?

+9

@Erwin - para futuras consultas, evite marcar la casilla de verificación "Wiki comunitario" cuando publique preguntas como esta. Esta es una pregunta de programación válida y los usuarios deberían ganar un representante de ella –

Respuesta

42
$("#wrapper input[type=button]").click(function() { 
    alert("hi there"); 
}); 
1

uso ID para un botón- específica

<div id="wrapper"> 
    <input type="text" value="you can edit me"> 
    <input type="button" id='btnMyButton' value="click me"> 
    <input type="button" class='btnClass' id='btnMyButton2' value="click me 2"> 
<input type="button" class='btnClass' id='btnMyButton3' value="click me 3"> 
</div> 

$('#btnMyButton').click(function(){ 
alert("hi there"); 
}); 

para todos los botones en el div, siguen la respuesta de Juan. Utilice la clase para algunos botones-

$('.btnClass').click(function(){ 
    alert("all class"); 
}); 

por cierto, me gusta poner mi toda la función jQuery dentro de la función listo como-

$(document).ready(function(){   

}); 
0

¿Qué tal

$("#wrapper :button").click(function() { alert("I love Imogen Poots"); });

Ver this

0

Pruebe esto:

$("#wrapper > input[type=button]").click(function() { 
    alert("hi there"); 
}); 
Cuestiones relacionadas