Jquery 获得前一个李与条件

Jquery 获得前一个李与条件,jquery,Jquery,我无法理解这件事。看起来很容易 <ul class="steps anchor"> <li><a href="#step-1" class="done" isdone="1" rel="1"><label class="stepNumber">1</label></a></li> <li><a href="#step-2" class="disabled" isdone="0" rel="2"&

我无法理解这件事。看起来很容易

<ul class="steps anchor">
<li><a href="#step-1" class="done" isdone="1" rel="1"><label class="stepNumber">1</label></a></li>
<li><a href="#step-2" class="disabled" isdone="0" rel="2"><label class="stepNumber">2</label></a></li>
<li><a href="#step-3" class="selected" isdone="1" rel="3"><label class="stepNumber">3</label></a></li>
<li><a href="#step-4" class="disabled" isdone="0" rel="4"><label class="stepNumber">4</label></a></li>
</ul>
我想要的是: 我想选择当前的Li类=已选=3 然后想得到上一个LI的rel,它的class=done

$'ul.steps li a.selected'.prev'li'.hasClass'done'.html

我一直这样想。也许有人能帮我找到正确的方向? 谢谢

编辑:我说李和班=完成。但这必须是一个: 我想要的是: 我想选择当前a类=已选=3 然后想得到上一个a的rel,它的class=done

编辑2:

我已经更新了我的Li结构。现在说我在李6。我想带着[class='done']去上一个李。所以a[rel=3]。你的老板总是把第一个李还给你

您可以使用get方法从'a.done'检索任何元素`

 $($('a.selected').closest('ul').find("li a.done").get(0)).attr('rel')
jsidle:

您可以使用get方法从'a.done'中检索任何元素`

 $($('a.selected').closest('ul').find("li a.done").get(0)).attr('rel')

jsIDLE:

如果您想选择效率不高的元素,可以使用prevAll方法:

$('a.selected').parent().prevAll('li:has("a.done")').find('a').attr('rel');
或:


如果要选择效率不高的图元,可以使用prevAll方法:

$('a.selected').parent().prevAll('li:has("a.done")').find('a').attr('rel');
或:

请看这里的小提琴:

请参见此处的小提琴:

您可以这样做:

$('ul.steps li a.selected').closest('ul').find("li a.done:first").attr('rel')
小提琴:你可以这样做:

$('ul.steps li a.selected').closest('ul').find("li a.done:first").attr('rel')

小提琴:

它是否总是在所选的li之前?因为$'ul.steps'.find'.done'.attr'rel';看起来效率更高。是的,我只需要上一步。因为class=done有更多的a。所以一次只能-1。它是否总是在所选的li之前?因为$'ul.steps'.find'.done'.attr'rel';看起来效率更高。是的,我只需要上一步。因为class=done有更多的a。所以每次只有-1。谢谢你的回答,但我编辑了我的startpost。我希望前一个A接近所选A。这总是给出第一个A。我本应该举个更清楚的例子。我的借口。@SativaNL不客气,你试过了吗?它也适用于您的更新谢谢您的时间!它起作用了!!我给你一分!谢谢你的回答,但我编辑了我的startpost。我希望前一个A接近所选A。这总是给出第一个A。我本应该举个更清楚的例子。我的借口。@SativaNL不客气,你试过了吗?它也适用于您的更新谢谢您的时间!它起作用了!!我给你一分!现在代码出现语法错误,get将jQuery对象转换为没有attr方法的DOM元素对象。您可以使用第一个方法。现在代码出现语法错误,get将jQuery对象转换为没有attr方法的DOM元素对象。您可以使用第一种方法。