Jquery 选择两个特定图元之间的所有图元

Jquery 选择两个特定图元之间的所有图元,jquery,Jquery,我需要从到选择所有a标记。下面是一个例子 <span class="pages"> <a class="prev">&nbsp;</a> <a>13</a> <a>14</a> <a>15</a> <a>16</a> <a class="self">17</a> <a>

我需要从
选择所有
a
标记。下面是一个例子

<span class="pages">
    <a class="prev">&nbsp;</a>
    <a>13</a>
    <a>14</a>
    <a>15</a>
    <a>16</a>
    <a class="self">17</a>
    <a>18</a>
    <a>19</a>
    <a>20</a>
    <a>21</a>
    <a class="next">&nbsp;</a>
</span>

13
14
15
16
17
18
19
20
21
href
s属性。我不想在上课前得到任何东西。我想要从
self
span
元素末尾的所有内容。

将获得
a.self
a.next
之间的所有
a
元素,排除它们:

$('a.self').nextUntil('a.next', 'a');
如果您想包含它们,只需使用:


希望这能帮助别人;它是包含的,这意味着它将发送最后一个元素,以及调用该方法的元素

/**
 * jQuery.fn.getRangeElements
 * 
 * @access public
 * @parma  HTMLElement|jQuery element
 * @return Array
 */
jQuery.fn.getRangeElements = function(element) {
    var $element = jQuery(element);
    if (jQuery.inArray(element[0], this.siblings()) === -1) {
        return [];
    }
    var $prevAll = this.prevAll();
    if (jQuery.inArray(element[0], $prevAll) !== -1) {
        var $prevUntil = this.prevUntil($element),
            set = [];
        $prevUntil.each(function(index, element) {
            set.push($(element));
        });
        set.unshift(this);
        set.push($element);
        return $(set);
    }
    var $nextUntil = this.nextUntil($element),
        set = [];
    $nextUntil.each(function(index, element) {
        set.push($(element));
    });
    set.unshift(this);
    set.push($element);
    return $(set);
};

当你说“我需要得到”时,“得到”是什么意思?您想删除所有其他标记,还是想要一个jQuery选择器来选择
a.self
a.next
元素?@JohnJohnGa:谢谢,修复:)
/**
 * jQuery.fn.getRangeElements
 * 
 * @access public
 * @parma  HTMLElement|jQuery element
 * @return Array
 */
jQuery.fn.getRangeElements = function(element) {
    var $element = jQuery(element);
    if (jQuery.inArray(element[0], this.siblings()) === -1) {
        return [];
    }
    var $prevAll = this.prevAll();
    if (jQuery.inArray(element[0], $prevAll) !== -1) {
        var $prevUntil = this.prevUntil($element),
            set = [];
        $prevUntil.each(function(index, element) {
            set.push($(element));
        });
        set.unshift(this);
        set.push($element);
        return $(set);
    }
    var $nextUntil = this.nextUntil($element),
        set = [];
    $nextUntil.each(function(index, element) {
        set.push($(element));
    });
    set.unshift(this);
    set.push($element);
    return $(set);
};