• jq筛选方法


    jq筛选方法(参照手册)

    过滤:

      1) eq(index|-index):获取第N个元素

        负值表示从末尾开始匹配

    <!-- 获取匹配的第二个元素 -->
    
    <p> This is just a test.</p>
    <p> So is this</p>
    
    <script>
    $("p").eq(1)
    $("p").eq(-2)   // <p> This is just a test.</p> 
    </script>

      

      2) first():获取第一个元素

    <ul>
        <li>list item 1</li>
        <li>list item 2</li>
        <li>list item 3</li>
        <li>list item 4</li>
        <li>list item 5</li>
    </ul>
    
    <script>
        $('li').first()    //<li>list item 1</li>
    </script>

      

      3) last():获取最后一个元素

      

      4) hasClass(class):检查当前的元素是否含有某个特定的类,如果有,则返回true。

    <div class="protected"></div>
    <div></div>
    <script> $("div").click(function(){ if ( $(this).hasClass("protected") ) $(this) .animate({ left: -10 }) .animate({ left: 10 }) .animate({ left: -10 }) .animate({ left: 10 }) .animate({ left: 0 }); });
    </script>

      

      5) filter(expr | obj | ele | fn):筛选出与指定表达式匹配的元素集合。

        这个方法用于缩小匹配的范围。用逗号分隔多个表达式,返回匹配到的元素节点

    <!-- 保留子元素中不含有ol的元素。 -->
    <p>
        <ol>
            <li>Hello</li>
        </ol>
    </p>
    <p>How are you?</p> 
       
    <script>
        $("p").filter(function(index) {
              return $("ol", this).length == 0;      //<p>How are you?</p>
        });    
    </script>        

      6) is(expr | obj | ele | fn):检测匹配元素集合,有一个元素符合返回true

    <!-- 由于input元素的父元素是一个表单元素,所以返回true。-->
    <form>
        <input type="checkbox" />
    </form>
    
    <script>
    $("input[type='checkbox']").parent().is("form")
    
    //true
    </script>

      7) map(callback):将一组元素转换成其他数组(不论是否是元素数组)

        你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。

    <!-- 把form中的每个input元素的值建立一个列表。-->
    
    
    <p>
        <b>Values: </b>
    </p>
    <form>
      <input type="text" name="name" value="John"/>
      <input type="text" name="password" value="password"/>
      <input type="text" name="url" value="http://ejohn.org/"/>
    </form>
    
    <script>
        $("p").append( $("input").map(function(){
              return $(this).val();
        }).get().join(", ") );        //<p>John, password, http://ejohn.org/</p> 
    </script> 

      8) has(expr|ele):保留包含特定后代的元素,去掉那些不含有指定后代的元素

    <!-- 给含有ul的li加上背景色 -->
    
    <ul>
       <li>list item 1</li>
       <li>list item 2
            <ul>
                <li>list item 2-a</li>
                <li>list item 2-b</li>
             </ul>
       </li>
       <li>list item 3</li>
       <li>list item 4</li>
    </ul>
    
    <script>
        $('li').has('ul').css('background-color', 'red');
    </script>            

      9 ) not(expr|ele|fn):删除与指定表达式匹配的元素;

    <!-- 从p元素中删除带有 select 的ID的元素 -->
    
    <p>Hello</p>
    <
    p id="selected">Hello Again</p> <script> $("p").not( $("#selected")[0] )       //<p>Hello</p> </script>

      10) slice(start, [end]):选取一个匹配的子集

    <!-- 选择第一个p元素 -->
    
    <p>Hello</p>
    <p>cruel</p>
    <p>World</p>
    
    <script>
        $("p").slice(0, 1).wrapInner("<b></b>");     //<p><b>Hello</b></p>
    </script>
    
    <!-- 选择前两个p元素 -->
    <script>
        $("p").slice(0, 2).wrapInner("<b></b>");     // <p><b>Hello</b></p>,<p><b>cruel</b></p>
    </script>
  • 相关阅读:
    codeforces 671B Robin Hood 二分
    HDU 4009 Transfer water 最小树形图
    HDU 2121 Ice_cream’s world II 最小树形图
    UVA1395 Slim Span(枚举最小生成树)
    ZOJ 1107FatMouse and Cheese(BFS)
    POJ2239 Selecting Courses(二分图最大匹配)
    UVA 11419SAM I AM(输出 最小覆盖点 )
    POJ 3678 Katu Puzzle(强连通 法)
    POJ3207Ikki's Story IV
    POJ1236Network of Schools(强连通分量 + 缩点)
  • 原文地址:https://www.cnblogs.com/1234wu/p/10349404.html
Copyright © 2020-2023  润新知