得到以前的LI条件

时间:2012-10-18 09:56:20

标签: 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"><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(class =“selected”)(= 3) 然后想要获得前面的LI的rel,它具有class =“done”。

  

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

我被这样思考了。也许任何人都能帮助我朝着正确的方向前进? 感谢

编辑:我说李与班级=“完成”。但那必须是: 我想要的是: 我想选择当前的a(class =“selected”)(= 3) 然后想要获得前一个具有class =“done”的相关信息。

EDIT2:

<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="done" isdone="1" rel="2"><label class="stepNumber">2</label></a></li>
<li><a href="#step-3" class="done" 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>
<li><a href="#step-5" class="disabled" isdone="0" rel="5"><label class="stepNumber">5</label></a></li>
<li><a href="#step-6" class="selected" isdone="1" rel="6"><label class="stepNumber">6</label></a></li>
</ul>

我更新了我的Li结构。现在说我在LI 6.我想用[class ='done']去前面的LI。所以a [rel = 3]。你的导师总是给第一个LI(1)。

4 个答案:

答案 0 :(得分:2)

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

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

http://jsfiddle.net/pn72t/

或者:

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

答案 1 :(得分:2)

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

请参阅此处的小提琴:http://jsfiddle.net/CnkNX/1/

答案 2 :(得分:1)

您可以使用get方法从'a.done`

中检索任何元素
 $($('a.selected').closest('ul').find("li a.done").get(0)).attr('rel')

jsfiddle:http://jsfiddle.net/gpznn/2/

答案 3 :(得分:1)

你可以这样做:

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

FIDDLE: http://jsfiddle.net/zwLaG/1/