【问题标题】:jquery :not selector not working in next() methodjquery:not 选择器在 next() 方法中不起作用
【发布时间】:2012-10-09 05:12:51
【问题描述】:

当你想选择下一个 li 项目时,下一个最好的方法是什么,而不是具有 someClassName 的那个。 not 选择器返回一个空数组!

或者这是使用过滤器的情况?

 <ul class="items">
    <li class="first">pickle</li>
    <li class="someClassName">tomato</li>
    <li>chicken</li>
    <li>cocosnut</li>
  </ul>

var current = $('ul.items li.first');
var next =  current.next(':not(li.someClassName)');

谢谢,理查德

【问题讨论】:

    标签: jquery next tree-traversal


    【解决方案1】:

    next 只选择被选元素的下一个兄弟。你可以使用nextAll方法:

    var next = current.nextAll(':not(.someClassName)').first();
    

    http://jsfiddle.net/P3EpK/

    请注意,您的标记无效。

    【讨论】:

    • 我在 firebug 中尝试过,它返回 undefined?
    • @Richard 是的,你有未关闭的li 标签。
    • @Richard 你检查过我回答中的小提琴吗?如果你还没有修复你的标记,它应该返回 undefined。
    • 抱歉,浏览器选项卡丢失了,我仍然不确定,我不明白吗?我会给出链接,您可以使用 firebug 控制台查看自己
    • @Richard 我在控制台中看不到未定义的值。你能提供一个jsfiddle吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多