1.jquery有一个筛选api find。
语法很简单,比如:
HTML 代码:
<p><span>Hello</span>, how are you?</p>
jQuery 代码:
$("p").find("span")
结果:
[ <span>Hello</span> ]
但是我一开始很疑惑,这个不是和$('p span')api完全一致,为什么要用这个find?
知道今天我遇到了一个应用场景。
场景是这样的,有个div.skill,我需要鼠标经过它上面时,给它的子选择器div.'skill-text',添加一个新class,
有同学会问为什么你不用事件委托:
$('.skill').on('mouseover',‘.skill-text',function(e){ $(this).addClass('skill-active'); });
因为我后面还有针对'.skill'的处理代码,而且同类的.skill还有很多,我不能通过$('.skill')直接操作,必须用到this或者e.target;
$('.skill').on('mouseover',function(e){ $(this).find('.skill-text').addClass('skill-active'); //.......其余代码 });
在这种情形下相当管用。因为你无法用css选择器直接找到对象了。
除此以外我还真没想到其他好方法,那原生的js没有find 可怎么写啊。。。。【存疑】