假设我有以下HTML:
<span>
<span id="x1" class="x">X1</span>
</span>
<span>
<span>
<span id="x2" class="x">X2</span>
</span>
</span>
Run Code Online (Sandbox Code Playgroud)
而且$(this)是<span id="x1" ...>.
找到.x与jQuery 匹配的下一个元素的最佳方法是什么?实际文档的结构是不可预测的,因此提供的HTML只是一个示例.
我不能使用nextAll,因为它只找到兄弟姐妹.如果我这样做$('.x'),它会找到所有,但我必须迭代/比较.有更好的解决方案吗?
鉴于您似乎不愿意对标记的结构做出假设,基于类的选择器是最好的.如果没有添加/删除元素,那么您可以选择它们一次并将它们作为优化保留.
var exes = $('.x');
var x1 = $('#x1');
var nextEx = exes.eq(exes.index(x1) + 1);
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/mattball/QKawu
对于一个真正不可预测的HTML结构,要求"下一个元素"只在"具有指定类名的元素集合"的上下文中才有意义,这正是上面代码所反映的.
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |