使用缓存选择器(jQuery)选择子元素
Select sub element using cached selector (jQuery)
这个问题与我的询问有些相关,但并没有完全涵盖我需要理解的内容:
jQuery缓存选择器
我有这个HTML:
<div id="myDiv">
<img src="http://placekitten.com/g/200/200" />
</div>
我缓存了DIV选择器:var md = $('#myDiv');
如何使用缓存的DIV选择器访问<img>
子元素?
例如:
md.('img').fadeOut();
或
$(md + ' img').fadeOut();
jsFiddle
您想选择md
jQuery对象,然后使用find()
或children()
方法在其层次结构中搜索"下面"的元素:
var md = $('#myDiv');
//the next two lines do the same thing
md.find('img').fadeOut();
md.children('img').fadeOut();
哪个对你更好?好这阐述了find()和children()之间的区别,这个问题的答案为您提供了一些有用的性能指标来帮助您做出决定。
请参阅find()
和children()
的工作示例http://jsfiddle.net/o8Ldzo5z/4/
请注意,惯例是将jQuery对象分配给前缀为"$"的变量:var $md = $('#myDiv');
您可以使用
find
// generic method for finding descendants
children
// for immediate children
上述以及filter
也可以使用。
md.find('img').fadeOut();
相关文章:
- WebdriverIO waitForExist()选择元素's选定的选项
- 如何选择元素的第n个子元素
- Angular没有根据模型更新我的选择元素
- jquery使用name from变量按类选择元素
- 如何使用jQuery按数据日期属性选择元素
- 向html选择元素添加选项
- 使用Jquery在相同类型的元素中选择元素
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 如何在Angular中清除选择元素中的过滤器
- 使用其中一个元素作为参考点,从Javascript数组中选择元素
- Javascript选择元素到字符串的比较
- Angular始终选择选择元素中的第一个选项
- 使用 jquery .find() 遍历按类和存储属性选择元素
- 通过 id json, jquery 选择元素
- 如何基于另一个已经存在的选择器选择元素
- 禁用多个选择元素中的非“选定”选项,但使用 jquery 的一个除外
- HTML 选择元素的只读等效项
- 在iPad上,如何通过Javascript事件在选择元素上设置focus()而不显示选项
- 单击事件似乎不适用于 IE 中的选择元素
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载