jquery之dom的筛选遍历

A.筛选

一.odd/even/first/last/eq

1. odd

  • 队列中索引值为奇数的元素被选择出来
<ul>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
</ul>
$('li:odd').css('background','orange');

2.even

  • 队列中索引值为偶数的元素被选择出来

3.first

  • li队列中的第一个(第0位)元素被选择出来
$('li:first').css('background','orange')
$('li').first().css('background','orange')

两种书写方法均可用

4.last

  • li队列中的最后一位元素被选择出来
$('li:last').css('background','orange')
$('li').last().css('background','orange')

两种书写方法均可用

5.eq

  • li队列中的某一位被选择出来
<ul>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
</ul>
$('li:eq(2)').css('background','orange');
$('li').eq(2).css('background','orange')
//选取第2位(第3个)li

两种书写方法均可用

二.prev/prevAll/next/nextAll/siblings

1.prev()

  • 找上一个兄弟元素
<ul>
    <li>xxx</li>
    <li>xxx</li>
    <p>zzz</p>
    <li>xxx</li>
    <li>xxx</li>
</ul>
$('li:eq(2)').prev().css('background','orange');
//p标签被选中
  • prev()括号中的东西可用来筛选
$('li:eq(2)').prev('p').css('background','orange');
//如果是p的话才会执行,不是p不执行

2.prevAll()

  • 当前元素上面的所有兄弟元素

3.next()

  • 找下一个兄弟元素

4.nextAll()

  • 找当前元素下面的所有兄弟元素
  • 思考问题:$('li').nextAll().css('background','orange');
    解答:除了第一个例元素不发生css样式改变外,其余的背景颜色都变为橙色。

5.siblings()

  • 获取所有兄弟元素

三.filter/not/is/slice/map/has

1.filter();筛选dom元素

如果给定表示 DOM 元素集合的 jQuery 对象,.filter() 方法会用匹配元素的子集构造一个新的 jQuery 对象。所使用的选择器会测试每个元素;所有匹配该选择器的元素都会包含在结果中。

$('li').filter(':even').css('background-color', 'red');
//索引值为偶数值得筛选出来执行

2.not();排除

<ul>
    <li class="test">xxx</li>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
</ul>
$('li').not('.test').css('background','orange');
//除去class值为test的都执行css

3.is();判断是否有符合筛选的

$('li').is('.test')--->返回true/false

4.slice();截取,取头不取尾

<ul>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
</ul>
$('li').slice(2,4).css('background','orange');
//第2位到第3位被截取并修改

5.map()

  • map()与each()类似,都是循环遍历的作用。
  • each只是用来遍历,不做处理,把选中的元素返回。
  • map()遍历后进行处理。可以返回jquery对象。
image.png

6.has()

查找子元素存不存在某种东西的父元素

<ul>
    <li><p>xxx</p></li>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
</ul>
$('li').has('p').css('background','orange');
//li子元素中拥有p元素的li被选中

B.查找

一.children/find/end/add/andBack

二.offsetParent/parent/parents/closest

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:认识jquery jquery是javascript的类库,具有轻量级,完善的文档,丰富的插件支持,完善的Aj...
    xuguibin阅读 1,727评论 1 7
  • $(”p”).addClass(css中定义的样式类型); 给某个元素添加样式 $(”img”).attr({sr...
    专注寒冰三千岁阅读 514评论 0 4
  • Attribute: $("p").addClass(css中定义的样式类型); 给某个元素添加样式 $("img...
    扑克脸_457e阅读 600评论 0 1
  • DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...
    阿r阿r阅读 1,049评论 0 9
  • jQuery遍历 - each() 方法 jQuery对象和DOM对象使用说明 Jquery css元素 默认情况...
    海里Hai阅读 391评论 0 1