Выберите несколько детей класса в JQuery - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть div, полный тегов кнопок

$('#class_selector button').click(function(a){
    $('#class_selector').hide();
    console.log(a);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="class_selector">
<button>Click</button>
<button>Click</button>
<button>Click</button>
</div>

Это просто не работает.Я хочу назначить действие каждой кнопке класса «селектор», чтобы скрыть сам селектор div после нажатия - так я выбрал его с помощью CSS, и я думал, что это будет работать, но это не так.кнопки не получают никаких событий JS

1 Ответ

0 голосов
/ 23 сентября 2018

из того, что я понял, вы хотите, чтобы каждая кнопка с определенным классом скрывала div при нажатии.Это можно сделать, назначив обработчик события on-click любой кнопке, у которой этот класс указан в списке классов.

HTML

<div id="selector-buttons">
  <button class="selector-button">Button 1</button>
  <button class="selector-button">Button 2</button>
  <button class="selector-button">Button 3</button>
</div>

JS

$(document).ready(() => {
// grab everything that has the 'selector-button' class in its class list
$('.selector-button').on('click', ()=>{
    // hide the div
        $('#selector-buttons').hide();
    });
});

Проверьте это fiddle для рабочего примера

С другой стороны, если вы неЕсли вы хотите назначить класс, вы можете сделать это следующим образом:

HTML

<div id="selectors">
  <button>Button 1</button>
  <button>Button 2</button>
  <button>Button 2</button>
</div>

JS

$(document).ready(()=>{
        // get every button inside the div
        $('#selectors').find('button').on('click', ()=>{
        // hide the div
        $('#selectors').hide();
    });
})

Вот fiddle для рабочего примера.

...