<div class="a" style="display:none">Content 1</div>
<div class="a" style="display:none">Content 2</div>
some other HTML...
<span id="b">foobar</span>
如何匹配span id =“b”上方的第一个div class =“a”来显示()它? id =“b”是我之前唯一知道的事情。
答案 0 :(得分:8)
像这样:
$('#b').prevAll('.a:first').show();
答案 1 :(得分:3)
$("#b").closest(".a").show();
试试。
答案 2 :(得分:0)
元素是否共享祖先?如果是这样,你可以将inkedmn和SLaks的答案结合起来:
$('#b').closest('parentType').prevAll('.a:first').show();
或类似的东西,取决于您的DOM。
答案 3 :(得分:0)
只要我正确理解多个选择器,这应该有效。它将获得所有具有类'a'的div和具有id'b'的span。根据{{3}},它们将按文档顺序排列。然后,您需要在span标记之前获取div并显示它。
var elems = $('span#b, div.a');
var divIndex;
for (var i = 0; i < elems.length; i++)
{
if (elems[i].tagName == "SPAN")
{
divIndex = i - 1;
break;
}
}
$(elems[divIndex]).show();