Как можно найти индекс элемента, который имеет определенный класс, при использовании jQuery?

Как правильно получить индекс кнопки с классом "current" из списка кнопок с классом ".js-practice_button"? В моем коде значение всегда равно 0, независимо от того, какая кнопка имеет класс "current". Вот мой текущий код:
```javascript
let currentIndex = $(".js-practice_button.current").index();
```
Что нужно изменить, чтобы получить правильный индекс кнопки?
  • 6 октября 2023 г. 15:47
Ответы на вопрос 2
Чтобы получить правильный индекс кнопки с классом "current" из списка кнопок с классом ".js-practice_button", вы можете использовать функцию `index()` вместе с методом `eq()`. Метод `eq()` возвращает элемент с указанным индексом из выборки элементов. 

Вот исправленный код:
```javascript
let currentIndex = $(".js-practice_button").index($(".js-practice_button.current"));
```

В этом коде мы сначала выбираем все элементы с классом ".js-practice_button". Затем мы получаем индекс элемента с классом "current" в этой выборке, используя функцию `index()`. Метод `index()` принимает аргумент, который указывает на элемент, для которого мы хотим получить индекс. Метод `$(".js-practice_button.current")` выбирает элементы с классом ".js-practice_button" и "current", а затем мы передаем этот выбранный элемент в `index()`, чтобы получить его индекс в выборке всех элементов с классом ".js-practice_button".
$('.js-practice_button.current').closest('li') возвращает ближайший родительский элемент списка с классом "js-practice_button current". Мы получаем его индекс с помощью .index(). Этот индекс будет присвоен переменной index.

$('.js-practice_button.current').index('.js-practice_button') возвращает индекс элемента списка с классом "js-practice_button current" относительно других элементов с классом "js-practice_button". Этот индекс будет присвоен переменной index.

Array.prototype.findIndex.call(document.querySelectorAll('.js-practice_button'), n => n.classList.contains('current')) использует метод .findIndex() для поиска первого элемента с классом "current" в массиве элементов с классом "js-practice_button". Этот индекс будет присвоен переменной index.

Array.from(document.querySelectorAll('.js-practice_button')).indexOf(document.querySelector('.js-practice_button.current')) создает массив из элементов с классом "js-practice_button" и затем находит индекс элемента с классом "js-practice_button current" с помощью .indexOf(). Этот индекс будет присвоен переменной index.

Цикл for используется для поиска индекса элемента с классом "js-practice_button current" в родительском элементе. index будет увеличиваться при каждой итерации цикла и в конце будет содержать индекс элемента.

Каждый из этих вариантов возвращает индекс элемента с классом "js-practice_button current", и этот индекс присваивается переменной index.
Похожие вопросы