2009-07-27 2 views
23

Ho un problema con la selezione e il filtraggio degli elementi all'interno di un div.jQuery selezionare e filtrare gli elementi all'interno di 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"); 
}); 

Il problema è vengo avvisato ogni volta che clicco nulla all'interno della div.
Ma il mio requisito è di avvisare solo quando l'utente fa clic sul pulsante.
so che filtrare gli elementi in jQuery sta usando :button

Questo è quello che ho provato:

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

e

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

non ha funzionato

Qualcuno sa come fare questo?

+9

@Erwin - per riferimento futuro, evitare di spuntare la casella "Wiki della comunità" quando si inviano domande come questa. Questa è una domanda di programmazione valida e gli utenti dovrebbero guadagnare un rappresentante –

risposta

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

uso id per una specifica 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"); 
}); 

Per tutti i pulsanti del div, seguono la risposta di John. Utilizzare la classe per qualche Bottoni-

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

btw, mi piace mettere la mia tutte le funzioni jQuery all'interno funzione pronti come-

$(document).ready(function(){   

}); 
0

Come su

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

Vedi this

0

Prova questo:

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