【问题标题】:Jquery next() problemjQuery next() 问题
【发布时间】:2011-07-23 01:51:06
【问题描述】:

我有这个代码:

<div class="window-compl">
    <div class="window showincatalog showing">
    <h2>Text1</h2>
    </div>

    <div class="window">
    <h2>Text2</h2>
    </div>

    <div class="window showincatalog">
    <h2>Text3</h2>
    </div>

    <div class="window showincatalog">
    <h2>Text4</h2>
    </div>
</div>

我在这个函数中使用了 jquery 选择器 next() 和 prev():

function rotate(direction) {    
    var current = $('.showing');
    if (direction==0)
        var next = $('.showing').prev('.showincatalog');
    else
        var next = $('.showing').next('.showincatalog');
}

当所有 div 标签都有类 showincatalog 时它可以工作,但当其中一个标签没有时停止。

如果有人知道为什么这不起作用,那就太好了

更新:我需要选择具有“showincatalog”类和 Text3 的 div,但 $('.showing').next('.showincatalog') 什么也不返回。

【问题讨论】:

  • 它的工作原理与宣传的完全一样,不是吗?我认为您需要改用 .find()
  • $('.showing) 应该是 $('.showing') 缺少单引号?

标签: javascript jquery next


【解决方案1】:

我想我明白了你想要做的事情,并且我自己也被这个刺痛了。诀窍是next 要么得到下一个元素,要么什么也得不到。如果您想要“匹配此选择器的下一个元素”,请使用.nextAll('selector').first()

【讨论】:

    【解决方案2】:

    我认为你想要的是这样的:

    function rotate(direction) {
        var current = $('.showing'),
            next;
        if (direction == 0) {
            next = $('.showing').prevAll('.showincatalog').first();
        } else {
            next = $('.showing').nextAll('.showincatalog').first();
        }
        current.removeClass('showing');
        next.addClass('showing');
    }
    

    See example here.

    【讨论】:

      【解决方案3】:

      这是因为您在代码中指定了下一个具有showincatalog 类的元素。如果您想包含不包含的 div...请从 prev()next() 调用中删除选择器。

      ...我假设这就是你所说的破碎的意思。如果行为不同,那么您应该编辑您的问题。

      【讨论】:

        【解决方案4】:

        查看next 上的 JQuery 文档。

        该方法可选地接受一个 相同类型的选择器表达式 我们可以传递给 $() 函数。 如果紧随其后的兄弟 匹配选择器,它仍然在 新建的 jQuery 对象; 否则将被排除

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-14
          • 2017-12-25
          • 1970-01-01
          • 2022-06-17
          • 2020-10-30
          相关资源
          最近更新 更多