web-dev-qa-db-ja.com

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

うまくいきませんでした

誰もこれを行う方法を知っていますか?

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

特定のボタンに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関数をready関数のように入れたいです-

$(document).ready(function(){        

});
1
Jhankar Mahbub

どう?

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

this を参照してください

0
slevin

これを試して:

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