jQuery:prev()不工作?
我在jQuery中使用prev()时遇到了麻烦,因为它没有选择正确的元素。
我的HTML结构如下:
...
...
“活动”部分是#contact。 我想选择上一节跳过
active = active.prev('section')
似乎不起作用。 我想我可能正在阅读错误的文档……
如果我拿出
一切都很美妙。 关于如何跳过prev()上的
任何想法?
TIA
我想我可能正在阅读错误的文档……
.prev()
的API文档给出了以下描述:
描述:获取匹配元素集中每个元素的前一个兄弟,可选择由选择器过滤。
所以,问题是hr
在那里并被.prev()
搜索,然后针对'section'
选择器进行测试。
关于如何跳过prev()上的
任何想法?
您可以调用.prev()
一次跳过该hr
然后再次调用该部分:
active = active.prev().prev('section');
或者使用.prevAll()
并找到最接近的前一个(如果之前有任何其他部分发生):
active = active.prevAll('section').first();
请改用prevAll()
active = active.prevAll('section')
来自jQuery文档:
prev()=> “获取前一个兄弟姐妹”所以它只会获得第一个元素,这就是为什么当你删除
时它会起作用。
或尝试:
...
...