2009-07-27 53 views
23

我在選擇和過濾div內的元素時遇到了問題。jQuery選擇和過濾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"); 
}); 

問題是我得到警告我點擊的div裏的任何東西,每次。
但我的要求是隻有當用戶點擊按鈕時纔會發出警報。
我知道,過濾jQuery中的元素使用:button

這是我曾嘗試:

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

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

它沒有工作

任何人都知道這個怎麼做?

+9

@Erwin - 爲了將來的參考,避免在發佈這樣的問題時檢查「社區Wiki」複選框。這是一個有效的編程問題,用戶應該從中獲得代表權 – 2009-07-27 17:28:35

回答

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

使用ID爲一個特定的按鈕 -

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

對於在div的所有按鈕,請按照約翰的回答。使用類的一些buttons-

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

順便說一句,我喜歡把我所有的jQuery函數準備函數內部喜歡 -

$(document).ready(function(){   

}); 
0

如何

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

this

0

試試這個:

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