2009-07-27 9 views
23

J'ai un problème avec la sélection et le filtrage des éléments à l'intérieur d'un div.jQuery sélection et filtrage des éléments à l'intérieur d'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"); 
}); 

Le problème est que je Soyez alerté chaque fois que je clique quoi que ce soit à l'intérieur du div.
Mais mon exigence est d'alerter seulement lorsque l'utilisateur clique sur le bouton.
Je sais que filtrer les éléments jQuery utilise :button

Voici ce que j'ai essayé:

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

et

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

Il ne fonctionne pas

Quelqu'un sait comment faire ça?

+9

@Erwin - pour plus tard, évitez de cocher la case "Wiki de la communauté" lorsque vous postez des questions comme celle-ci. Ceci est une question de programmation valide et les utilisateurs devraient gagner un représentant –

Répondre

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

id utilisation pour une spécifique button-

<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"); 
}); 

Pour tous les boutons de la div, suivez la réponse de John. Utilisez la classe pour certains buttons-

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

BTW, j'aime mettre mon toutes les fonctions jquery dans la fonction prêt comme-

$(document).ready(function(){   

}); 
0

Que diriez-vous

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

Voir this

0

Essayez ceci:

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