jquery找到最近没有上课的兄弟姐妹 [英] jquery find closest previous sibling that does not have class
本文介绍了jquery找到最近没有上课的兄弟姐妹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
示例HTML:
我很遗憾地尝试使用jQuery的slide类不包含子 > < section id =p1class =slide>< / section>
< section id =p2class =slide>< / section>
< section id =p3class =slide>< / section> <! - 我正在尝试获得这个ELEM - >
< section id =p31class =slide subsection>< / section>
< section id =p32class =slide subsection>< / section> <! - 我在这里 - >
< section id =p4class =slide>< / section>
我尝试过:(其中$ subsection是上面提到的元素)
var $ slide = $ subsection.prev('。slide')。not('。subsection');
var $ slide = $ subsection.prev('。slide:not(。subsection)');
var $ slide = $ subsection.prev('。slide')。not([class ='subsection']);
var $ slide = $ subsection.prev('。slide:not([class =subsection])');
现在我发现prev()只选择一个以前的elem然后停止,但prevUntil doesn不,也可以工作?
var $ slide = $ subsection.prevUntil('。slide' );
我也尝试过:
var $ slide = $ subsection.prevAll('。slide')。not('。subsection');
但这会让我得到第一个id为id的幻灯片元素。
如果有任何人有任何提示,我会很感激...
有谁可以阻止我去cray cray? 8 |
解决方案
尝试这样:
code> var a = $(#p32)。prevAll(。slide)。not(。subsection)。
alert($(a).text());
I am stumped at trying to get the closest previous element with class 'slide' that does NOT contain class 'subsection' using jQuery
Sample HTML:
<section id="p1" class="slide"></section>
<section id="p2" class="slide"></section>
<section id="p3" class="slide"></section> <!--I AM TRYING TO GET THIS ELEM -->
<section id="p31" class="slide subsection"></section>
<section id="p32" class="slide subsection"></section> <!--I AM HERE -->
<section id="p4" class="slide"></section>
I have tried: (where $subsection is the element indicated above)
var $slide = $subsection.prev('.slide').not('.subsection');
var $slide = $subsection.prev('.slide:not(".subsection")');
var $slide = $subsection.prev('.slide').not("[class='subsection']");
var $slide = $subsection.prev('.slide:not([class="subsection"])');
Now I found out that prev() only selects a single previous elem and then stops, but prevUntil doesn't work either?
var $slide = $subsection.prevUntil('.slide').not('.subsection');
I also tried:
var $slide = $subsection.prevAll('.slide').not('.subsection');
but this gets me the very first slide element with id p1.
If anyone has any tips I'd appreciate it... Can anyone stop me going cray cray? 8-|
解决方案
Try this:
var a = $("#p32").prevAll(".slide").not(".subsection").first();
alert($(a).text());
这篇关于jquery找到最近没有上课的兄弟姐妹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文