<span>This is the span I want to select</span>
<div>something here</div>
<a id="start"></a>
假设只能访问$('#start'),
我尝试了$('#start')。prev('span')但没有工作。
答案 0 :(得分:4)
$('#start')
.parent() // gets one up
.find('span') // gets the span element
注意:强>
你不能使用prev(),因为它只获取前一个标记,而span,来自锚标记不是前一个是前一个
获取一组元素,其中包含每个匹配元素集的唯一先前兄弟节点。 使用可选表达式筛选匹配的集。 只返回前一个兄弟姐妹,而不是所有以前的兄弟姐妹。
prev([filter])
过滤器用于过滤前一个标记是否包含多个标记,如:
<div>
<span></span>
<a></a>
</div>
<a id="a2"></a>
获取您使用的范围:
$('#a2').prev('span')
答案 1 :(得分:0)
奇怪的是,似乎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>