jquery中获取元素里某一特定子元素的代码
之前做的一些JQUERY应用都是些很基础的编程,对于选择器要求不高,像类似于“$('.class')”、“$('#id')”、“$('#id>.class')”、“$(this)”、“$(this).parent()”、“$(this).children()”这些简单的语句都能解决的。
问题的出现是我要选择一个ul里某个的li中的一个span,因为要利于编程,li是用 $('ul>li').eq(i) 来做的选择,虽然问题还是能用之前的方法解决,但总感觉代码有点臃肿,而且效率也很低下。既然JQUERY被誉为目前所有JS框架中最高效的代码,不可能连这个问题都要用一大坨代码来解决吧!
回头再翻翻JQUERY的API,才发现有一个非常适合这个场合使用的语句我一直没有注意过。那就是:$(选择器一).find(选择器二)。之前虽然读过find这段介绍,但一直因为用不到而被忽视。
这里说说find()的使用方法
API提供的的解释:搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。
使用方法:$(选择器一).find(选择器二);
以小剧客栈首页的焦点图,查找类为“.focusphoto”的DL下DD中的span并将其作淡出处理为例:
$('.focusphoto>dl>dd).eq(i).find(”span”).fadeOut('slow');
谈谈小剧对find()的理解
我这个应用实际上完全可以用children()来代替,但这并不是说find()和children()的用法是一样的,如果是这样的话find()的存在便没有了意义。在查询深度为一级的时候,这两者有相同之处,但区别就在于:find()是子查询选择器,它可以深入到子级的下层进行查询选择;而children():只是子级选择器,它只能选择下一层级的元素。
当然,以上仅仅是剧中人的一点拙见,如有错误或不完善的地方,请给于指正,谢谢!
相关文章
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
这篇文章主要介绍了JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结,非常不错,具有参考借鉴价值,需要的朋友参考下吧2017-06-06基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
基于jquery实现的一个选择中国大学的弹框,需要的朋友可以参考下2012-07-07jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
jQuery模拟百度新闻不间断滚动效果并且支持文字、图片水平垂直滚动等等,感兴趣的朋友可以了解下,或许本文所提供的案例对你学习jquery特效有所帮助,好了话不多说,切入正题2013-02-02快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleav
这篇文章主要介绍了快速移动鼠标所触发的问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave),非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-08-08
最新评论