Когда я нажимаю на ссылку, мне нужно найти следующий <section>
, который имеет атрибут ID и возвращает его идентификатор.Как найти следующий элемент с атрибутом ID с помощью jQuery
Поэтому, учитывая следующую разметку и javascript, я ожидаю, что нажимаю на ссылку, чтобы написать «section_3» на консоли.
<section id="section_1">
<a href="#" class="findNext">Find</a>
</section>
<section></section>
<section id="section_3"></section>
<section id="section_4"></section>
и
$('a.findNext').click(function() {
var nextSectionWithId = $(this).closest("section").next("section[id]");
if (nextSectionWithId) {
var sectionId = nextSectionWithId.attr('id');
console.log(sectionId)
}
});
Но это не работает. Я установил the code up here in jsFiddle.
Любые идеи, почему это не работает?
.next не выполняет поиск по всем следующим братьям и сестрам, он смотрит только на ближайший следующий. это в api docs. –
Если предусмотрен селектор, он получает следующий брат, только если он соответствует этому селектору. В следующем разделе нет идентификатора. – marcellscarlett
Отлично, я, очевидно, неправильно истолковал его как «следующий, чтобы соответствовать критериям», а не «следующий, если он соответствует критериям». – Digbyswift