Jquery有选择器为何还要封装遍历方法?

Jquery有选择器为何还要封装遍历方法?
比如Jquery的同辈选择器 $(" A + B") 和Jquery遍历方法next() 作用相同
为什么还要设置next()方法呢? 初入Jquery,对遍历节点方法的意义不是很理解,求大神指点指点..

阅读 3.7k
7 个回答

你举的例子太狭隘了...

<li class="a"><li>
<li class="b"><li>
<li class="a"><li>
<li class="b"><li>

假如, 点击.a后, .a后面的.b要加个样式, 用.a+.b怎么做???

$(".a").on("click", ()=>{
    $(this).next().addClass("c");
})

这种next, prev之类的方法更多还是用在事件里面

老师点名回答问题不一定每次都叫你名字,有时也叫你小明的同桌

当要对一个集合操作的时候用么

存在即合理~,~

我作为业余搞网页的,业余的这么讲吧:

  1. $(" A + B") 只能用于jq方法的开头,比如:$(" A + B").html('jq');
    此时this(选取)为$(" A + B")。

.next()不能用于jq方法开头,用于jq方法的链式写法,比如:$(" A + B").html('jq1').next().html('jq2');
此时的this(选取)为$(" A + B").next(),若要将this(选取)还为$(" A + B"),则.next()后面要加上.end(),即$(" A + B").html('jq1').next().html('jq2').end().attr('class','jq');

  1. $(" A + B")是集操作,将节点放进jq对象集合中,才能对其使用jq方法。
    .next()是分操作,将集中的对象执行某方法。

斜体文字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题