jquery找到最近没有上课的兄弟姐妹 [英] jquery find closest previous sibling that does not have class

查看:99
本文介绍了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());

Fiddle here。


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());

Fiddle here.

这篇关于jquery找到最近没有上课的兄弟姐妹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆