jQuery选择并过滤div中的元素

时间:2009-07-27 17:22:05

标签: javascript jquery filter css-selectors

我在选择和过滤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");
});

它不起作用

任何人都知道怎么做?

4 个答案:

答案 0 :(得分:44)

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

答案 1 :(得分: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中的所有按钮,请按照John的回答。使用类来显示某些按钮 -

$('.btnClass').click(function(){
    alert("all class");
});
顺便说一句,我喜欢将我的所有jquery函数放在就绪函数中,如 -

$(document).ready(function(){        

});

答案 2 :(得分:0)

怎么样

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

请参阅this

答案 3 :(得分:0)

试试这个:

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