• jQuery之元素筛选


    过滤

    说明:

      jQuery对象中的元素对象数组中过滤出一部分元素来,并封装成新的jQuery对象返回。

    方法:

      first()

      last()

      eq(index|-index)

      filter(selector):对当前元素提要求

      not(selector):对当前元素提要求并取反

      has(selector):对子孙元素提要求

    示例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>筛选_过滤</title>
    </head>
    <body>
    
    <ul>
        <li>AAAAA</li>
        <li title="hello" class="box2">BBBBB</li>
        <li class="box">CCCCC</li>
        <li title="hello">DDDDDD</li>
        <li title="two"><span>BBBBB</span></li>
    </ul>
    <li>eeeee</li>
    <li>EEEEE</li>
    <br>
    
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript">
        /*
         * 需求:
         * 1.ul下li标签第一个
         * 2.ul下li标签的最后一个
         * 3.ul下li标签的第二个
         * 4.ul下li标签中title属性为hello的
         * 5.ul下li标签中title属性不为hello的
         * 6.ul下li标签中有span子标签的
         */
        $(function (){
            var $lis = $('ul>li');
            //1.ul下li标签第一个
            $lis.first().css('background', 'red');
            //2.ul下li标签的最后一个
            $lis.last().css('background', 'red');
            //3.ul下li标签的第二个
            $lis.eq(1).css('background', 'red');
            //4.ul下li标签中title属性为hello的
            $lis.filter('[title=hello]').css('background', 'red');
            //5.ul下li标签中title属性不为hello的
            $lis.not('[title=hello]').css('background', 'red');
            $lis.filter('[title][title!=hello]').css('background', 'red');
            //6.ul下li标签中有span子标签的
            $lis.has('span').css('background', 'red');
        });
    </script>
    </body>
    </html>

    查找

    说明:

      在已经匹配出的元素集合中根据选择器查找孩子/父母/兄弟标签,并封装成新的jQuery对象返回。

    方法:

      children():子元素

      find():后代元素

      parent():父元素

      prevall():前的所有兄弟

      nextall():后的所有兄弟

      siblings():所有兄弟

    示例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>筛选_查找孩子-父母-兄弟标签</title>
    </head>
    <body>
    
    <div id="div1" class="box" title="one">class为box的div1</div>
    <div id="div2" class="box">class为box的div2</div>
    <div id="div3">div3</div>
    <span class="box">class为box的span</span>
    <br/>
    <div>
        <ul>
            <span>span文本1</span>
            <li>AAAAA</li>
            <li title="hello" class="box2">BBBBB</li>
            <li class="box" id='cc'>CCCCC</li>
            <li title="hello">DDDDDD</li>
            <li title="two"><span>span文本2</span></li>
            <span>span文本3</span>
        </ul>
        <span>span文本444</span><br>
        <li>eeeee</li>
        <li>EEEEE</li>
        <br>
    </div>
    
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript">
        /*
         * 需求:
         * 1.ul标签的第2个span子标签
         * 2.ul标签的第2个span后代标签
         * 3.ul标签的父标签
         * 4.id为cc的li标签的前面的所有li标签
         * 5.id为cc的li标签的所有兄弟li标签
         */
        $(function (){
            var $ul = $('ul');
            //1.ul标签的第2个span子标签
            $ul.children('span:eq(1)').css('background', 'red');
            //2.ul标签的第2个span后代标签
            $ul.find('span:eq(1)').css('background', 'red');
            //3.ul标签的父标签
            $ul.parent().css('background', 'red');
            //4.id为cc的li标签的前面的所有li标签
            $ul.children('#cc').prevAll('li').css('background', 'red');
            //5.id为cc的li标签的所有兄弟li标签
            $ul.children('#cc').siblings('li').css('background', 'red');
        });
    </script>
    </body>
    </html>
  • 相关阅读:
    div嵌套出现的样式问题
    知乎最多支持答案的黄色渐隐效果
    对话框图形的css实现方式
    排序算法的相关问题
    数据库优化
    常用的Java基本代码汇总
    浅谈getStackTrace()方法(一)
    ECharts学习总结(三)-----基本概念分析
    ECharts学习总结(二)-----图表组件漏斗图(funnel)
    Echarts学习总结(一)-----柱状图
  • 原文地址:https://www.cnblogs.com/hfl1996/p/13274565.html
Copyright © 2020-2023  润新知