Find the next element that is not immediate?

牧云@^-^@ 提交于 2019-11-29 05:32:05
Pim Jager

I think your method is the best way. And if you feel it doesn't look good just turn it into a plugin:

jQuery.fn.firstAfter = function(filter){
 return this.nextAll(filter).eq(0);
}

Similar to the marked answer but looks a little cleaner using the :first selector:

$('.counter').nextAll('span:first')

I think the siblings() function is what you are looking for. Try something like this:

$(".counter").siblings("span");

I'm not sure that the closest method will do the trick, but if so... maybe you can extract the closest method from 1.3 and turning it into a plugin?

I haven't had a chance to try this, but give it a shot. It can't hurt:

(function($) {
  $.fn.closest = function (selector) {
    return this.map(function(){
      var cur = this;
      while ( cur && cur.ownerDocument ) {
        if ( $(cur).is(selector) )
          return cur;
        cur = cur.parentNode;
      }
    });
  }
})(jQuery);

Try something like this:

$(".counter ~ span:first");

Hope that helps!

$(".counter + span")

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!