GetElementsByClassName против jquery
Если моя оригинальная функция была:
document.getElementsByClassName('blah')[9].innerHTML = 'blah';
... как я могу изменить это, поэтому я получаю тот же самый элемент в jquery? У меня это есть, но когда я положил "[9]" в конце, он не работает:
$(data).find('.blah')[9].html();
Я оставляю [9], он получает только первый элемент, чье имя класса "бла", и я хочу, чтобы он получил 10-й элемент.
Ответы
Ответ 1
Эквивалент
document.getElementsByClassName('blah')[9].innerHTML = 'blah';
- использовать псевдо-селектор :eq
:
$(".blah:eq(9)").html('blah');
или eq
функция:
$(".blah").eq(9).html('blah');
(... и затем html
функция, чтобы установить внутренний HTML.)
Ответ 2
Посмотрите, что вы ищете, :eq()
:
$('.blah').eq(9).html('blah');
потому что :eq()
индексируется 0
, поэтому :eq(9)
найдет элемент в 10-м индексе.
. eq() jQuery doc
Существует также функция :nth-child()
:
$('.blah:nth-child(10)').html('blah');
потому что :nth-child()
индексируется 1
, поэтому вам нужно разместить там 10-ю позицию.
: nth-child() jQuery doc
из документов:
Поскольку реализация jQuery: nth-selectors строго выводится из спецификации CSS, значение n является "1-индексированным", что означает, что подсчет начинается с 1. Для других селекторных выражений, таких как: eq() или: даже jQuery следует за индексом "0-индексированный" JavaScript. Для одного синтаксиса, содержащего два
s, $('li: nth-child (1)') выбирает первый а $('li: eq (1)') выбирает второй.
Ответ 3
попробуйте следующее
$('.blah').eq(9).html('blah');
Ответ 4
Другим ответом может быть:
$($(data).find('.blah')[9]).html();
Когда вы используете [9], он возвращает объект DOM, который не знает, что такое функция html(), но без [9] он возвращает объект jQuery, который отличается функцией html().
Ответ 5
Попробуйте это
$(".blah:eq(9)").html('blah');
Ответ 6
$('.blah')[9].innerHTML="BLAH";
Это должно решить вашу проблему.
Ответ 7
Попробуйте это
$('.blah').eq(9).html('blah');
Ответ 8
Вы также должны просто использовать метод jQuery get():
$('.blah').get(9)
Объекты jQuery также функционируют как индексированные массивы в качестве возвращаемых элементов, поэтому это также должно работать:
$('.blah')[9]