2009-07-27 28 views
23

Tôi gặp sự cố khi chọn và lọc các phần tử bên trong div.Lựa chọn và lọc các yếu tố jQuery bên trong 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"); 
}); 

Vấn đề là tôi nhận được thông báo mỗi khi tôi nhấp bất cứ điều gì bên trong div.
Nhưng yêu cầu của tôi là chỉ cảnh báo khi người dùng nhấp vào nút.
Tôi biết rằng việc lọc các yếu tố trong jQuery đang sử dụng :button

Đây là những gì tôi đã cố gắng:

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

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

Nó không làm việc

Bất cứ ai cũng biết làm như thế nào?

+9

@Erwin - để tham khảo trong tương lai, tránh kiểm tra hộp kiểm "Cộng đồng Wiki" khi đăng câu hỏi như thế này. Đây là câu hỏi lập trình hợp lệ và người dùng sẽ kiếm được đại diện từ nó –

Trả lời

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

id sử dụng cho một cụ Nút

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

Đối với tất cả các nút trong div, hãy làm theo câu trả lời của John. Sử dụng lớp đối với một số buttons-

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

btw, tôi muốn đưa tất cả các chức năng jquery của tôi bên trong chức năng sẵn sàng như-

$(document).ready(function(){   

}); 
0

Làm thế nào về

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

Xem this

0

Hãy thử cách này:

$("#wrapper > input[type=button]").click(function() { 
    alert("hi there"); 
}); 
Các vấn đề liên quan