我无法理解这一点。似乎很容易。
<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)。
答案 0 :(得分:2)
如果您想选择效率不高的元素,您可以使用prevAll
所有方法:
$('a.selected').parent().prevAll('li:has("a.done")').find('a').attr('rel');
或者:
$('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/