当前位置:  开发笔记 > 前端 > 正文

如何在jQuery中选择两个标签之间的所有内容

如何解决《如何在jQuery中选择两个标签之间的所有内容》经验,为你挑选了2个好方法。

我有一个标题和无序列表的文档.

如何使用JQuery选择给定标题(通过其唯一的类名称)和该标题与下一个标题之间的所有内容?

更新:

你的建议很棒,但不是我想要的.例如,在下面的代码中,我想只访问id为"heading2"的"h1"以及所有内容,但不包括id为"heading3"的"h1".

上面提供的jQuery示例将在第一个不是"h"标记的"h"标记之后访问每个.

...或者,如果我错了,请纠正我:)

    

...

    ...

...

    ...

...

...

    ...

...

    ...

...

...

    ...

...

    ...

...

Sampson.. 71

特别是两种方法解决这个问题非常有用:.nextUntil.andSelf.第一个会抓住你的选择器之后的所有兄弟姐妹,而后者将把你的选择器匹配的任何东西都混在一起,给你一个jQuery对象,包括所有:

$("#heading2")
    .nextUntil("#heading3").andSelf()
        .css("background", "red");

这导致以下结果:

在此输入图像描述



1> Sampson..:

特别是两种方法解决这个问题非常有用:.nextUntil.andSelf.第一个会抓住你的选择器之后的所有兄弟姐妹,而后者将把你的选择器匹配的任何东西都混在一起,给你一个jQuery对象,包括所有:

$("#heading2")
    .nextUntil("#heading3").andSelf()
        .css("background", "red");

这导致以下结果:

在此输入图像描述


感谢JQuery课程!工作就像一个魅力.

2> Lasse Espeho..:

这是我用于项目的解决方案:

jQuery选择器

(function ($) {
    $.fn.between = function (elm0, elm1) {
        var index0 = $(this).index(elm0);
        var index1 = $(this).index(elm1);

        if (index0 <= index1)
            return this.slice(index0, index1 + 1);
        else
            return this.slice(index1, index0 + 1);
    }
})(jQuery);

用法

$('body').between($('#someid'), $('#someid2')).each(function () {
    // Do what you want.
});

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有