2009-07-27 16 views
23

Ich habe ein Problem mit der Auswahl und Filterung von Elementen in einem Div.jQuery Auswählen und Filtern von Elementen in einem 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"); 
}); 

Das Problem ist, ich jedes Mal, wenn ich etwas innerhalb des div klicken alarmiert bekommen.
Aber meine Anforderung besteht darin, nur zu alarmieren, wenn der Benutzer auf die Schaltfläche klickt.
Ich weiß, dass die Elemente in jQuery Filterung :button verwendet

Dies ist, was ich versucht habe:

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

und

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

Es hat nicht funktioniert

Wer weiß, Wie macht man das?

+9

@Erwin - Vermeiden Sie es, das Kontrollkästchen "Community Wiki" zu aktivieren, wenn Sie Fragen wie diese hier eingeben. Dies ist eine gültige Programmierfrage, und Benutzer sollten sich davon Rep erhalten –

Antwort

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

Verwendung id für einen bestimmten Knopf-

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

Für alle Schaltflächen in der div, folgen John Antwort. Verwenden Klasse für einige buttons-

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

btw, Ich mag meine alle jquery Funktion innerhalb Ready-Funktion setzen wie-

$(document).ready(function(){   

}); 
0

Wie wäre es

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

Siehe this

0

Versuchen Sie Folgendes:

Verwandte Themen