1

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');

我想获取位于链接“#delete1”之后的以“hidden”开头的最近“div”的ID。
以前的代码可以正常工作,但我认为有一种更简单的方法可以做到这一点。

4

2 回答 2

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

nextAll()足够

示例 jsbin:http: //jsbin.com/usowej/3/edit

注意:如果您有多个 id 开头的元素,请hidden使用

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

要检索第一次出现,请参阅http://jsbin.com/usowej/4/edit

于 2012-10-02T12:51:22.240 回答
1

您可以使用nextAll(selector)获取元素之后的下一个兄弟姐妹:

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

http://api.jquery.com/nextAll/

于 2012-10-02T12:52:31.827 回答