has()和find()有什么区别?还有mouseover()和mousemove()有什么区别?
has()和find()有什么区别?还有mouseover()和mousemove()有什么区别?
has()和find()有什么区别?还有mouseover()和mousemove()有什么区别?
2015-03-17
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表示的鼠标移出时触发。
举报