我在选择和过滤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");
});
它不起作用
任何人都知道怎么做?
答案 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)
答案 3 :(得分:0)
试试这个:
$("#wrapper > input[type=button]").click(function() {
alert("hi there");
});