Javascript jQuery.nextUntil()等价物

Javascript jQuery.nextUntil()等价物,javascript,jquery,Javascript,Jquery,我需要jQuery的.nextUntil()的替代方案。我目前正在使用jQuery 1.3.1,不可能对其进行更新:( 我有这个HTML: <h4>...</h4> <p>...</p> <p>...</p> <p>...</p> <h4>...</h4> <p>...</p> <p>...</p> 但是.nextUntil()

我需要jQuery的
.nextUntil()
的替代方案。我目前正在使用
jQuery 1.3.1
,不可能对其进行更新:(

我有这个HTML:

<h4>...</h4>
<p>...</p>
<p>...</p>
<p>...</p>
<h4>...</h4>
<p>...</p>
<p>...</p>

但是
.nextUntil()
是在
1.4.0
中添加的,那么您知道如何在
1.3.1
中实现这一点吗?

未测试,但类似于以下内容:

function nextUntil($start, until)
{
    var matches = [];

    for (var e = $start.next(); e.length !== 0 && !e.is(until); e = e.next())
    {
        matches.push(e);
    }
    return $(matches);
}
或者使用
nextAll()


未测试,但类似于以下内容:

function nextUntil($start, until)
{
    var matches = [];

    for (var e = $start.next(); e.length !== 0 && !e.is(until); e = e.next())
    {
        matches.push(e);
    }
    return $(matches);
}
或者使用
nextAll()

未测试。由@ingo:)测试

没有测试。由@ingo:)测试。

我就是这样做的

$('h4').click(function(){
    $n = $(this).next();
    while($n.is('h4') == false) {
        $n.toggle();
        $n = $n.next();
    }
});
我是这样做的

$('h4').click(function(){
    $n = $(this).next();
    while($n.is('h4') == false) {
        $n.toggle();
        $n = $n.next();
    }
});

您可以通过使用和一起模拟的行为:

var $nextAll = $(this).nextAll();
$nextAll.slice(0, $nextAll.index("h4")).toggle();

您可以通过使用和一起模拟的行为:

var $nextAll = $(this).nextAll();
$nextAll.slice(0, $nextAll.index("h4")).toggle();

如果有人仍然需要使用jQuery 1.3:有,它被添加到jQuery
1.4.0

jQuery Untils提供了三种非常简单但非常有用的方法:nextUntil、prevUntil和parentsUntil。这些方法基于它们的nextAll、prevAll和parents对应项,只是它们允许您在到达某个选择器时停止。元素以“遍历顺序”返回

在Internet Explorer 6-8、Firefox 2-3.7、Safari 3-4、Chrome 4-5、Opera 9.6-10.1中使用jQuery 1.3.2进行测试


如果有人仍然需要使用jQuery 1.3:有,它被添加到jQuery
1.4.0

jQuery Untils提供了三种非常简单但非常有用的方法:nextUntil、prevUntil和parentsUntil。这些方法基于它们的nextAll、prevAll和parents对应项,只是它们允许您在到达某个选择器时停止。元素以“遍历顺序”返回

在Internet Explorer 6-8、Firefox 2-3.7、Safari 3-4、Chrome 4-5、Opera 9.6-10.1中使用jQuery 1.3.2进行测试


看看这是否有助于使用带条件语句的循环。@Bala R我看到了taht,但它仍然使用
.nextUntil()
您可以同时运行两个版本的jQuery。。您将保持与现有内容的兼容性,并且仍然能够使用较新的功能。@jnpcl我知道这一点,但我认为这不是一个好的解决方案:)看看这是否有助于使用带条件语句的循环。@Bala R我看到了taht,但它仍然使用
.nextUntil()
您可以同时运行两个版本的jQuery。。您将保持现有内容的兼容性,并且仍然能够使用更新的功能。@jnpcl我知道,但我认为这不是一个好的解决方案:)