$('li[data-number=4]').after().hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li data-number="0">1</li>
<li data-number="1">2</li>
<li data-number="2">3</li>
<li data-number="3">4</li>
<li data-number="4">5</li>
<li data-number="5">6</li>
<li data-number="6">7</li>
<li data-number="7">8</li>
</ul>
我想隐藏数据编号4之后的所有元素,并想要获取第一个隐藏的li编号。输出将为5.如何实现此目标?请帮我。
最佳答案
.after()
表示:在匹配的元素集中的每个元素之后,插入由参数指定的内容。 API
相反,您想要的是.nextAll()
:获取匹配元素集中每个元素的所有后续同级元素,可以选择使用选择器进行过滤。 API
因此,您的代码变为:
$('li[data-number=4]').nextAll().hide();
要隐藏第一个,请使用
$('li:hidden').first()
。 :hidden
和.first()
的文档:http://api.jquery.com/hide/,https://api.jquery.com/first/