jQuery:找到前面的div

Content 1
Content 2
some other HTML... foobar

如何匹配span id =“b”上方的第一个div class =“a”来显示()它? id =“b”是我之前唯一知道的事情。

像这样:

 $('#b').prevAll('.a:first').show(); 
 $("#b").closest(".a").show(); 

试试吧。

元素是否共享祖先? 如果是这样,你可以将inkedmn和SLaks的答案结合起来:

 $('#b').closest('parentType').prevAll('.a:first').show(); 

或类似的东西,取决于你的DOM。

只要我正确理解多个选择器,这应该有效。 它将获得所有具有类’a’的div和具有id’b’的span。 根据文档,它们将“按文档顺序”。 然后,您需要在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();