<span>This is the span I want to select</span>
<div>something here</div>
<a id="start"></a>
假设只能访问$('#start'),
我试过 $('#start').prev('span') 但没有工作。
$('#start')
.parent() // gets one up
.find('span') // gets the span element
笔记:
你不能使用 prev() 因为它只获取前一个标签,并且跨度,从锚标签不是前一个是前一个
获取一组元素,其中包含每个匹配的元素集的唯一先前兄弟。使用可选表达式过滤匹配集。仅返回前一个兄弟姐妹,而不是所有先前的兄弟姐妹。
prev([filter])
过滤器是过滤前一个标签是否包含多个标签,例如:
<div>
<span></span>
<a></a>
</div>
<a id="a2"></a>
获得您使用的跨度:
$('#a2').prev('span')
奇怪的是,这似乎prevAll
是倒退的,从起始元素后面的第一个开始,然后往回走。有道理,我想。无论哪种方式,以下对我有用:
//jquery :
$(document).ready(function(){
$("#start").prevAll("span:first").css("font-weight", "bold");
});
// html:
<span>This is the span I don't want to select</span>
<span>This is the span I want to select</span>
<div>something here</div>
<a id="start">Stuff</a>