的李鉴于以下HTML列表:,如何选择相对于其他特定李
<ul>
...
<li>
<li> // <-- item to be selected
<li>
<li class='current'>
<li>
<li>
<li>
...
</ul>
如何选择李向前带班目前李的两个实例? 任何纯粹的JavaScript或jQuery解决方案都会很棒!
的李鉴于以下HTML列表:,如何选择相对于其他特定李
<ul>
...
<li>
<li> // <-- item to be selected
<li>
<li class='current'>
<li>
<li>
<li>
...
</ul>
如何选择李向前带班目前李的两个实例? 任何纯粹的JavaScript或jQuery解决方案都会很棒!
使其更加通用的,也就是说,如果你想选择一个礼可能(第二或第三或在您的选择器之前出现的任何情况),然后尝试
$('li.current').prevAll(':eq(' + n-1 + ')');
这里n是你正在谈论的实例#(因为它是基于0的索引)。在你的情况,这将是:
$('li.current').prevAll(':eq(1)');
千万记得prevAll从选择开始的顺序返回元素,让你可以提供从该位置的元素的索引prevAll
与eq
选择。
我已经接受了这个答案。其他人是正确的,但我更喜欢这种解决方案的一般性质! –
@ArnolddeJager不客气。这也是我的观点,如果你想在diff索引中选择元素,那么泛型总是有帮助的! – PSL
很容易:
$('.current').prev().prev()
您可以尝试
$('.current').prev().prev()
这可以帮助...
var li=document.getElementsByTagName('li');
var i, n;
for(i=0;i<li.length;i++)
{
if(li[i].className=='current')
{
n=(i+2)%(li.length);
}
}
var x=li[n];
我已经接受了一个答案。我自己的解决方案首先确定要选择的元素的索引:
var index = $('.current').index()-n+1;
n等于您希望超前当前对象的项目数。 +1是因为索引从0开始,但在1
然后我用的第n个孩子选择以获得正确的元素第n个孩子:
$('ul li:nth-child('+index+')')
如果你知道如何选择一个元素,你在那里的一半。如果你不这样做,那么你需要运行一些教程和文档。 – user2736012
编辑:删除评论,加入问题... –