Вопрос по css-selectors, jquery, javascript, filter – jQuery выбор и фильтрация элементов внутри div

24

У меня проблема с выбором и фильтрацией элементов внутри 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");
});

Это не сработало

Кто-нибудь знает, как это сделать?

@Erwin - для дальнейшего использования, не проверяйте & quot; Community Wiki & quot; флажок при публикации таких вопросов. Это правильный вопрос программирования, и пользователи должны зарабатывать на этом репутацию John Rasch

Ваш Ответ

4   ответа
0

Попробуй это:

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

Как насчет

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

Увидетьэтот

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

использовать идентификатор для конкретной кнопки

<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 следуйте за ответом Джона. Используйте класс для некоторых кнопок

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

Кстати, я хотел бы поместить все свои JQuery функции в готовую функцию, как-

$(document).ready(function(){        

});

Похожие вопросы