Вопрос

<Сильные> HTML

...
<a id="delete1" href="http://www.example.com">TEST</a>
<p>First</p>
<p>Second</p>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<div id="hidden-qsd">123</div>
...
.

<Сильные> js

var id = $('#delete1').nextUntil("div[id^='hidden']").next().last().attr('id');
.

Я хотел бы получить идентификатор ближайшего «div», начиная с «скрытого», расположенный после ссылки «# delete1».


Этот предыдущий код работает, но я думаю, что есть более простой способ сделать это.

Это было полезно?

Решение

$('#delete1').nextAll('[id^="hidden"]').attr('id')
.

nextAll() достаточно

Пример jsbin: http://jsbin.com/usowej/3/edit

.

Примечание. Если у вас есть более одного элемента, идентификатор которого начинается с hidden, просто используйте

$('#delete1').nextAll('[id^="hidden"]:first').attr('id')
.

Чтобы получить только первое представление, см. « http://jsbin.com/usowej/4/edit

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

Вы можете использовать nextAll(selector), чтобы получить следующие братья и сестер после элемента:

var id = $('#delete1').nextAll("div[id^='hidden']").prop('id');
.

http://api.jquery.com/nextall/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top