【发布时间】:2013-11-12 10:40:35
【问题描述】:
我很难尝试使用 jQuery 获取不包含类“子节”的“幻灯片”类最接近的前一个元素
示例 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>
我试过了:(其中 $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() 只选择了一个前一个元素然后停止,但是 prevUntil 也不起作用?
var $slide = $subsection.prevUntil('.slide').not('.subsection');
我也试过了:
var $slide = $subsection.prevAll('.slide').not('.subsection');
但这让我得到了第一个 ID 为 p1 的幻灯片元素。
如果有人有任何提示,我将不胜感激...... 谁能阻止我去克雷克雷? 8-|
【问题讨论】:
-
如果您需要这样做,也许您应该质疑您的 CSS 类/HTML 元素结构是否应该更简单且更易于导航?
-
我认为这应该很容易......没有类小节的“最近”幻灯片。适应嵌套结构并不难,但是使用这种结构添加小节可以使 CSS 无需额外更改即可工作。
-
...最后超级简单,感谢@Hiral 指出了答案。