计算机系统应用教程网站

网站首页 > 技术文章 正文

jQuery基础教程学习笔记(三)DOM操作(2)之元素遍历

btikc 2024-10-25 10:59:08 技术文章 4 ℃ 0 评论

本节主要讲jQuery的元素遍历的方法,每个重点都配备案例,写笔记不易,希望大家多多支持,多多关注!亲爱的号友们,互粉哈,本机最后有福利啊!

jQuery遍历之children()方法

.children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈,这里可以理解为就是父亲-儿子的关系)

$("div").children()通过在DOM树中对这些元素的直接子元素进行搜索,并且构造一个新的匹配元素的jQuery对

$("div").children(".selected") 方法选择性地接受同一类型选择器表达式

例: $(".div").children().css('border','1px solid red')

$('.div').children(':last').css('border', '3px solid blue')

jQuery遍历之find()方法

.find()快速查找DOM树中的这些元素的后代元素 children是父子关系查找,find是后代关系(包含父子关系)

$(".left").find("li:last").css('border','1px solid red')

jQuery遍历之parent()方法

.parent()查找父元素 只查找一级

例: $(".level-3").parent().css('border','1px solid red');//查找.level-3的父元素

$('.item-a').parent(':last').css('border', '1px solid blue') //找到所有.item-a的父元素(.item-a不止

一个)选择最后一个

jQuery遍历之parents()方法

.parents() 查找合集里面的每一个元素的所有祖辈元素

parents()方法也可选择性地接受同一型选择器表达式

1、 .parents()和.parent()方法是相似的,但后者只是进行了一个单级的DOM树查找

2、$( "html" ).parent()方法返回一个包含document的集合,而$( "html" ).parents()返回一个空集合。(html文档中的根元素,所有是空)

例: $(".item-b").parents().css('border','1px solid red') 选取全部父元素

$('.item-b').parents('.first-div').css('border', '2px solid blue') 选取父元素class="first-div"的

jQuery遍历之closest()方法

closest()方法接受一个匹配元素的选择器字符串 ,从元素本身开始,在DOM 树上逐级向上级元素匹配,并返回最先匹配的祖先元素。$("div").closet("li') 表示在div元素中 往上查找所有的li元素

.parents()和.closest()区别:

1、起始位置不同:.closest开始于当前元素 .parents开始于父元素

2、遍历的目标不同:.closest要找到指定的目标,.parents遍历到文档根元素,closest向上查找,直到找到一个匹配的就停止查找,parents一直查找到根元素,并将匹配的元素加入集合

3、结果不同:.closest返回的是包含零个或一个元素的jquery对象,parents返回的是包含零个或一个或多个元素的jquery对象

例:$(".item-1").closest(".level-2").css('border','1px solid red')

jQuery遍历之next()方法

.next()查找指定元素集合中每一个元素紧邻的后面同辈元素的元素集合

next()无参数允许我们找遍元素集合中紧跟着这些元素的直接兄弟元素,并根据匹配的元素创建一个新的 jQuery 对象,也可以选择性地接,同一类型选择器表达式。

例:$(".item-2").next().css("border",'1px solid red')

$('.item-2').next(':first').css('border', '1px solid blue')//选出item-2下的第一个兄弟元素

等同于: $('.item-2').find(':eq(1)').css('border','1px solid red');

jQuery遍历之prev()方法

.prev()查找指定元素集合中每一个元素紧邻的前面同辈元素的元素集合(同辈),也可以选择性地接受同一类型选择器表达式

例:$(".item-2").prev().css('border','1px solid red')

$('.item-3').prev(':last').css('border', '1px solid blue')//找到item-3最后一个元素的兄弟节点(.item-3可能存在多个,所以选择最后一个)

jQuery遍历之siblings()

.siblings()查找指定元素集合中每一个元素的同辈元素,也可以选择性地接受同一类型选择器表达式

例: $(".item-2").siblings().css('border','1px solid red')

$('.item-2').siblings(':last').css('border', '2px solid blue')//筛选最后一个兄弟节点

jQuery遍历之add()方法

add() 将元素添加到匹配的元素集合中

处理一:传递选择器 $('li').add('p') 先选择li ,再加上p。组成一个合集;

处理二:传递dom元素 $('li').add(document.getElementsByTagName('p')[0])

处理三:动态创建P标签 $('li').add('<p>新的p元素</p>').appendTo(目标位置)

例:$('li').add('p').css('background', 'red')//既选择li又选择p 都加上红色背景

$('li').add('<p>新的p元素</p>').appendTo($('.right')) //既选择li又新创建p 都追加到.right里边

jQuery遍历之each()

.each() 方法就是一个for循环的迭代器,它会迭代jQuery对象合集中的每一个DOM元素。每次回调函数执行时,会传递当前循环次数作为参数(从0开始计数

1、each是一个for循环的包装迭代器

2、each通过回调的方式处理,并且会有2个固定的实参,索引与元素

3、each回调方法中的this指向当前迭代的dom元素

例:<ul>

<li>百度</li>

<li>谷歌</li>

</ul>

$("li").each(function(index, element) {

index 索引 0,1

element是对应的li节点 li,li

this 指向的是li

})

如果需要提前退出,可以以通过返回 false以便在回调函数内中止循

例:$("li").each(function(index, element) {

$(this).css('color','red')

})//遍历所有li

至此所有的jQuery的dom操作教程算是学完了,学到现在,基本的jquery小特效应该都可以自己去写了!后续仍有笔记,大家关注我,我会每天发布学习笔记的!粉我必粉!

学累了,福利来一波

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表