为了账号安全,请及时绑定邮箱和手机立即绑定

has()和find()有什么区别?还有mouseover()和mousemove()有什么区别?

has()和find()有什么区别?还有mouseover()和mousemove()有什么区别?

正在回答

2 回答

has(selector选择器或DOM元素)将匹配元素集合根据选择器或DOM元素为条件,检索该条件在每个元素的后代中是否存在,将符合条件的的元素构成新的结果集。

注意:has只起判断作用。以has参数中的选择器或DOM元素做为条件,检测原结果集中的元素是否符合。去掉不符合的元素,将符合的元素构成一个新结果集。

这与find()方法不同,find()方法是获得在当前结果集中每个元素的后代。参数(选择器、jquery集合或DOM元素)做为过滤条件,满足过滤条件的则保留,保留的是后代。而has()方法中,参数只做为条件,符合条件的,它的前元素加入新的结果集,而不是后代加入新的结果集。


<ul>
  <li>list item 1</li>
  <li>list item 2
    <ul>
      <li><div><span>a</span></div>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li>list item 3</li>
  <li>list item 4</li>
</ul>

$("li").has("span") //得到的是  <li><div><span>a</span></div>list item 2-a</li> 这个li节点

$("li").find("soan")//得到的是  <li><div><span>a</span></div>list item 2-a</li>中的span节点


mouseover表示的是鼠标滑过时触发,mouseover表示的鼠标移出时触发。

2 回复 有任何疑惑可以回复我~
#1

傲娇的向日葵 提问者

非常感谢!这么一解释我就清楚多了
2015-03-19 回复 有任何疑惑可以回复我~
#2

珈蓝小羊人

解释的太清晰了!赞~
2015-06-09 回复 有任何疑惑可以回复我~

mark

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
形形色色的下拉菜单
  • 参与学习       106972    人
  • 解答问题       543    个

本教程从易到难,循循渐进,运用不同技术实现动态下拉菜单

进入课程

has()和find()有什么区别?还有mouseover()和mousemove()有什么区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信