我在jQuery中使用prev()没有选择正确的元素时遇到麻烦.
我的HTML结构如下:
<section id="about"> ... </section> <hr> <section id="contact"> ... </section>
“活动”部分是#contact.我想选择上一节跳过< hr>
active = active.prev(‘section’)似乎没有工作.我想我可能正在阅读文件错误…
如果我拿出< hr>一切都很精美.关于如何跳过< hr>的任何想法在prev()?
TIA
解决方法
I think I may be reading the docs wrong…
API docs for .prev()
给出了这个描述:
Description: Get the immediately preceding sibling of each element in the set of matched elements,optionally filtered by a selector.
所以问题在于hr在那里并被.prev()搜索,然后根据’section’选择器进行测试.
Any ideas on how to skip the
<hr>
on prev()?
您可以调用.prev()一次跳过该小时,然后再次调用该部分:
active = active.prev().prev('section');
或者使用.prevAll()找到最接近的前一个(如果在它之前还有其他的部分):
active = active.prevAll('section').first();