Обнаружение клика в jQuery для класса CSS

У меня есть следующий код в моем файле 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-код недействителен, и похоже, что вы загружаете jQuery ДВАЖДЫ

mplungjan 24.12.2020 15:23

я просто скопировал соответствующую часть из файла html. Пожалуйста, дайте мне знать, если мне нужно скопировать весь файл

logeeks 24.12.2020 15:27
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
2
65
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В вашем селекторе отсутствует . перед 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, вы пишете их без пробелов между ними и просто соединяете их с помощью селектора классов .

Другие вопросы по теме