这是我开始使用的粗略html:
<li class="par_cat"></li>
<li class="sub_cat"></li>
<li class="sub_cat"></li>
<li class="par_cat"></li> // this is the single element I need to select
<li class="sub_cat"></li>
<li class="sub_cat"></li>
<li class="sub_cat current_sub"></li> // this is where I need to start searching
<li class="par_cat"></li>
<li class="sub_cat"></li>
<li class="par_cat"></li>
Run Code Online (Sandbox Code Playgroud)
我需要遍历.current_sub,找到最接近的先前.par_cat并做一些事情.
.find("li.par_cat")返回整个负载.par_cat(我在页面上有大约30个).我需要针对单一目标.
非常感谢任何提示:)
我想要类似于这个人的东西,除了我想要匹配的元素可能不是直接的兄弟.
例如,如果我有这个HTML,
<h3>
<span>
<b>Whaddup?</b>
</span>
</h3>
<h3>
<span>
<b>Hello</b>
</span>
</h3>
<div>
<div>
<img />
</div>
<span id="me"></span>
</div>
<h3>
<span>
<b>Goodbye</b>
</span>
</h3>
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这样的事情:
var link = $("#me").closestPreviousElement("h3 span b");
console.log(link.text()); //"Hello"
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法在jQuery中执行此操作?
编辑:我应该让我的规范更清晰一点.$("#me")可能有也可能没有父div.代码不应该假设它确实如此.我不一定了解周围的元素.