操作jQuery集合

操作jQuery集合

文章目录

操作jQuery集合确定集合大小集合转数组遍历集合元素过滤创建新HTML元素根据关系获取集合操作集合的其他方法

操作jQuery集合

确定集合大小

jQuery集合与数组很相似,我们可以像获取数组中元素的个数一样,通过length属性获取jQuery集合中元素的个数。例如,我们可以获取页面中所有

元素的,然后输出jQuery集合中

元素

alert($('p').length);

这是在 body 中的标题

这是在 body 中的第一个段落。

这是在 body 中的第二个段落。

这是在 div 中的 span 元素

这是在 div 中的第一个段落

这是在 div 中的第二个段落

这是在 div 中的最后一个段落

这是在另一个 div 中的第一个段落

这是在另一个 div 中的第二个段落这是在 p 中的 span 元素

这是在另一个 div 中的最后一个段落

这是在 body 中的最后一个段落。

集合转数组

方法描述toArray()将jQuery集合转换成包含所有元素的数组。

遍历集合元素

方法描述each(iterator)遍历集合中的所有元素

获取元素的索引

方法描述index([element])返回元素在集合中对应的索引。

过滤

方法描述get([index])返回集合中指定索引的元素。如果不指定索引,则返回所有的元素。first()返回包含第一个元素的新集合。如果初始集合为空,则返回空集合。last()返回包含最后一个元素的新集合。如果初始集合为空,则返回空集合。eq(index)返回包含指定索引元素的新集合。参数可以为负数,表示从集合结尾开始计算。filter(selector)创建一个集合副本,然后从新集合中删除不符合selector选择器条件的元素。has(selector)创建并返回新的集合,只包含匹配selector选择器的子元素。not(selector)创建不包含选择器selector参数匹配元素的新集合。slice(start, [end])获取集合的子集。map(callback)在集合中的每个元素上调callback函数,然后返回值到一个jQuery对象中。is(selector)确定集合中是否有元素匹配给定的选择器。

创建新HTML元素

使用jQuery动态创建元素是非常容易的,只需要给$()函数传递一个包含HTML标签的字符串就可以创建一个jQuery对象。

$('

Hello jQuery
');

如果只是想创建一个空的

元素,那么可以直接使用下面的简写代码:

$('

');

这种语法等价于下面的两种语法:

$('

');

$('

');

假如要创建一个元素,它包含多个属性,并且可以点击该图片,我们可以下面的语法创建:

$('', {

src: 'img/photo.png',

alt: '',

title: '',

click: function() {

alert('nihao');

}

}).appendTo('body');

这段代码创建一个包含多个属性,并且可以点击的元素,然后将该元素追加到了页面上的元素中。

根据关系获取集合

方法描述(selector).parent(filter)返回元素的直接父元素。如果设置选择器,则只会返回匹配选择器的父元素。filter可选,规定缩小搜索父元素范围的选择器表达式。(selector).parents(filter)返回元素的祖先元素。如果设置选择器,则只会返回匹配选择器的祖先元素。filter可选,规定缩小搜索祖先元素范围的选择器表达式。(selector).parentsUntil(stop,filter)默认选择所有祖先元素。如果设置选择器和过滤器,则先通过选择器划定范围,然后使用过滤器选择元素。stop可选。表示在哪里停止搜索匹配的祖先元素的选择器表达式、元素、jQuery 对象。filter可选。规定缩小搜索子元素范围的选择器表达式。(selector).closest(filter,context)返回距离自己最近的(以自身为起点查找,包括自身),并且匹配选择器的祖先元素。filter必需。规定缩小搜索祖先元素范围的选择器表达式、元素或 jQuery 对象。context可选。在其内可以找到匹配元素的 DOM 元素。(selector).offsetParent()返回距离自身最近的(不包括自身),并且设置定位的祖先元素。(selector).children(filter)返回元素的直接子元素。如果设置选择器,则只会返回匹配选择器的子元素。filter可选。规定缩小搜索子元素范围的选择器表达式。(selector).find(filter)返回元素中匹配选择器的子元素。filter必需。过滤搜索后代条件的选择器表达式、元素或 jQuery 对象。(selector).prev(filter)返回元素前面的直接兄弟元素。(selector).prevAll(filter)返回元素前面的所有兄弟元素。(selector).prevUntil(stop,filter)默认选择前面的所有兄弟元素。如果设置选择器和过滤器,则先通过选择器划定范围,然后使用过滤器选择元素。(selector).next(filter)返回元素后面的直接兄弟元素。(selector).nextAll(filter)返回元素后面的所有兄弟元素。如果设置选择器,则只会返回匹配选择器的兄弟元素。(selector).nextUntil(stop,filter)默认选择后面的所有兄弟元素。如果设置选择器和过滤器,则先通过选择器划定范围,然后使用过滤器选择元素。(selector).siblings(filter)返回元素前后的所有兄弟元素。如果设置选择器,则只会返回匹配选择器的兄弟元素。

box0

第1个段落

第2个段落

第3个段落

第4个段落

第5个段落

第6个段落

第7个段落

第8个段落

第9个段落

第10个段落

11个段落

12个段落

box4

box5

box6

注意:

prevObject

jQuery选择器在遍历的过程中都会找到一组元素(一个jQuery对象), 然后jQuery会把这组元素推入到栈中。 prevObject属性就指向这个对象栈中的前一个对象, 而通过这个属性可以回溯到最初的DOM元素集。 利用这个DOM元素栈可以减少重复的查询和遍历的操作, 而减少重复操作也正是优化jQuery代码性能的关键所在。

操作集合的其他方法

方法描述.add()向集合中添加新元素。.addBack()把栈上前一个集合的元素添加到当前集合里,可以选择性提供选择器参数。.contents()查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容。.end()在jQuery链式调用中使用该方法;在当前调用链中结束最近的过滤操作,然后返回匹配元素的集合到之前的状态。

  • list item 1
  • list item 2
  • list item 3
  • list item 4
  • list item 5

Hello百度搜索

end测试

end测试

相关推荐

大兴灭门案李磊杀6亲人获死刑 7套房产归属落判
S365网络超时

大兴灭门案李磊杀6亲人获死刑 7套房产归属落判

📅 07-25 👁️ 4201
乐视电视怎么保修?乐视电视保修期是多久?
365bet网站是多少

乐视电视怎么保修?乐视电视保修期是多久?

📅 07-18 👁️ 3717
黑暗起源boss_黑暗起源手游怎么样
365bet娱乐官

黑暗起源boss_黑暗起源手游怎么样

📅 07-19 👁️ 3432