У меня есть следующий код в моем файле HTML.
В файле JavaScript я пытаюсь обнаружить щелчок по любому элементу, с которым связан класс dropdown-item ml-2
. Однако функция click()
не ловится.
$(document).ready(function() {
$('.dropdown-item ml-2').click(function() {
alert('hello');
});
});
<span class = "dropdown-item-text font-weight-bold">People</span>
<a class = "dropdown-item ml-2" id = "optAffiliates" href = "#">Affiliates</a>
<a class = "dropdown-item ml-2" id = "optBusiness" href = "#">Business</a>
<a class = "dropdown-item ml-2" href = "#">Inquiries</a>
<a class = "dropdown-item ml-2" href = "#">Students</a>
<a class = "dropdown-item ml-2" href = "#">Students</a>
</span>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js">
</script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script src = "{{url('myproject/public/js/ya-jquery.js')}}" type = "text/javascript"></script>
я просто скопировал соответствующую часть из файла html. Пожалуйста, дайте мне знать, если мне нужно скопировать весь файл
В вашем селекторе отсутствует .
перед ml-2
, и он должен быть
$('.dropdown-item.ml-2')
$('.dropdown-item ml-2')
будет выбирать элементы <ml-2>
внутри других элементов, которые имеют класс css dropdown-item
. В вашем коде нет элементов <ml-2>
, вместо этого ml-2
существует как дополнительный класс CSS.
Что вы хотите вместо этого:
$('.dropdown-item.ml-2')
Если вы хотите выбрать элементы, которые имеют более одного определенного класса CSS, вы пишете их без пробелов между ними и просто соединяете их с помощью селектора классов .
Ваш HTML-код недействителен, и похоже, что вы загружаете jQuery ДВАЖДЫ