zoukankan      html  css  js  c++  java
  • 第二十节(jquery筛选)

    1:find筛选
    例题为筛选加样式
    <body>
      <div>111</div>
      <span>222</span>
      <p>333</p>
      
      <div id="test">
        <div class="green">4444</div>
        <div class="green">6666</div>
        <span>5555</span>
        <span class="green">9999</span>
      </div>
      
      <div class="green">7777</div>
    
      <script type="text/javascript">
        
          $(function(){
             /*$("body").find("div").each(function(){
                alert($(this).html());
             });*/
    
             //$("p,div,.green").css("background","green");
             //$(".green","#test") ==$("#test").find(".green");
             //$("#test .tm")
             var spanHtml = $("#test").find(".tm").html();
             var length = $("#test .green span").length;
    
             $("#test .green").css("background","red");
    
          });
      </script>
     </body>
    2:first last eq筛选
    
    <body>
    
      <div>11</div>
      <div>22</div>
      <div>33</div>
      <span>44</span>
      <script type="text/javascript">
        $(function(){
            //:first :last
            alert("方式:first:"+$("div:first").html());
            alert("方式:last:"+$("div:last").html());
    
            //first() last()
            alert("方式:first():"+$("div").first().html());
            alert("方式:last():"+$("div").last().html());
            
            //eq
            alert("方式:eq():"+$("div").eq(0).html());
            alert("方式:eq():"+$("div").eq(2).html());
            //:eq
            alert("方式:eq:"+$("div:eq(0)").html());
            alert("方式:eq:"+$("div:eq(2)").html());
    
        });
      </script>
     </body>
    3:删除 及parents()  closest()的比较
    <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
      <title>Document</title>
      <style>
        .gfather{640px;height:100px;border:1px solid red;margin-top:5px;}
      </style>
     </head>
     <body>
     <div class="gggather">    
          <div class="gfather">
                <div id="father" class="father">22父亲
                    <span id="span">1111</span>
                    <span>222</span>
                    <p>333</p>
                    <a href="javascript:void(0)" onclick="tm_delete(this)">删除</a>
                </div>
           </div>
    
           <div class="gfather">
                <div id="father" class="father">22父亲
                    <span id="span">1111</span>
                    <span>222</span>
                    <p>333</p>
                    <a href="javascript:void(0)" onclick="tm_delete(this)">删除</a>
                </div>
           </div>
    
    
            <div class="gfather">
                <div id="father" class="father">22父亲
                    <span id="span">1111</span>
                    <span>222</span>
                    <p>333</p>
                    <a href="javascript:void(0)" onclick="tm_delete(this)">删除</a>
                </div>
           </div>
      </div>
      <script type="text/javascript">
    
         function tm_delete(obj){
            var $this = $(obj);
            $this.parents(".gfather").fadeOut("slow",function(){
                $(this).remove();
            });
         }
    
    
         $(function(){
             //parent() children()
            /* var f = $("#span").parent().attr("class");
             var cs = $("#father").children();
             alert("在当前元素下有:"+cs.length+"子元素");
             cs.each(function(i){
                alert("第"+(++i)+"个元素的【"+$(this).context.tagName+"】的值是:"+$(this).text());
             });
            */
            //parents()  closest();
    
            //如果parents()没有指明范围,那么它就等同于parent();
            //parents();从当前元素往上查找,找到最近的一个就返回
            //closest(obj)
            
            var f = $("#span").parents(".father");
            alert(f.html());
            var cf = $("#span").closest(".father");
            alert(cf.html());*/
         });
      </script>
     </body>
    4:选项卡
     <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
     <style>
       *{margin:0px;padding:0px;}
        #box{list-style:none;border:1px solid #ccc;100%;}
        li{list-style:none;list-style-image:none;}
        #box li{border-bottom:1px solid #ccc;75px;height:35px;padding:3px;float:left;cursor:pointer;}
        .active{background:red;}
      </style>
     </head>
     <body>
        <div style="border:1px solid red;486px;padding:5px;margin:10px auto;">
          <ul id="box">
            <li tab="#div1" class="active"><div>111111</div></li>
            <li tab="#div2"><div>222</div></li>
            <li tab="#div3"><div>3333</div></li>
            <li tab="#div4"><div>444</div></li>
            <li tab="#div5"><div>555</div></li>
            <li tab="#div6"><div>666</div></li>
          </ul>
    
          <div id="tabboxs">
            <div id="div1">1111111</div>
            <div id="div2" style="display:none;">2222222</div>
            <div id="div3" style="display:none;">3333311111</div>
            <div id="div4" style="display:none;">4444444444</div>
            <div id="div5" style="display:none;">5555555555</div>
            <div id="div6" style="display:none;">6666666666</div>
          </div>
      </div>
      <script type="text/javascript">
         $(function(){
            //siblings() =  prevAll() + nextAll()
            //$("#text").siblings().css("background","red");
            
            //第一种方式
            /*$("#box li").on("click",function(){    
                var index = $(this).index();
                $(this).addClass("active")
                $(this).siblings().removeClass("active");    
                $("#tabboxs").find("div").eq(index).show();
                $("#tabboxs").find("div").eq(index).show().siblings().hide();
            });*/
    
            //第二种方式
            $("#box li").on("click",function(){    
                var tab = $(this).attr("tab");
                $(this).addClass("active").siblings().removeClass("active");
                $(tab).show().siblings().hide();
            });
         });
      </script>
     </body>
    5:filter筛选出与指定表达式匹配的元素集合。
    这个方法用于缩小匹配的范围。用逗号分隔多个表达式
    
     <script type="text/javascript" src="jquery-1.11.1.min.js"></script>//jquery-1.11.1.min.js可在jquery.com上下载
     <body>
      <p>Hello</p><p>Hello Again</p><p class="selected">And Again</p>
    
        <script type="text/javascript">
    
          // attr prop html val text
          //find parent next is hasClass
          //hasClass("selected")
          //filter/is(className)
          $("p").filter(".selected").css("background","red");
    
           $("p").filter(".selected , :first").css("background","red");
        </script>
    
     </body>
    6:is筛选   是根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。如果没有元素符合,或者表达式无效,都返回'false'<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
     </head>
     <body>
    
      <div>1</div>
      <div>2</div>
      <div id="target">3</div>
      <div class="tmclass tm11">4</div>
      <div class="tmclass tm22">5</div>
      <div class="tmclass tm33">5</div>
      <div>6</div>
    
      <input type="text">    
      <label><input type="radio" id="male" name="male" value="1">男</label>
      <label><input type="radio" name="male" checked="checked" value="2">女</label>
      <label><input type="radio" name="male"  value="3">保密</label>
      
      <div id="divbox">
        <span class="span"></span>
        <span id="span" class="span"></span>
        <span class="span"></span>
      </div>
    
      <ul>
          <li><strong>list</strong> item 1 - one strong tag</li>
          <li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span></li>
          <li>list item 3</li>
      </ul>
      
      <script type="text/javascript">
            //hasClass():判断一个元素是否包含class
            //is(expression|object|function|elements) :选择器
            //filter() 
            //contents() 
            //not()
    
    
    
            //筛选
            $(function(){
                //$(".tm22").css("background","red");
                $(".tmclass").each(function(){
                    /*if($(this).hasClass("tm22")){
                        $(this).css("background","red");
                    }else{
                        $(this).css("background","green");
                    }*/
                });
                
                /*
                $("input").each(function(){
                    if($(this).is(":text")){
                        $(this).val("1111111111111111");
                    }
                })    
    
                $("input[type='radio'][name='male']").each(function(){
                    //if($(this).is(":checked")){
                    if($(this).prop("checked")){//prop判断是否选中
                        alert("您当前选中的值是:"+$(this).val());
                    }
                });*/
                
                //var flag = $("#male").is("input");
                //alert(flag);
    
                //var flag = $("#divbox").children().is("span");
                //alert(flag);
    
                $("li").on("click",function(){
                    
                    var flag = $(this).is(function(){
                        //return $(this).index()==1;
                        return $("strong",this).length===2;
                    });
    
                    if(flag){
                        $(this).css("background","green");
                    }else{
                        $(this).css("background","red");
                    }
                
                })
    
            });
            
      </script>
     </body>
    7:content  查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容
    
    ///在content.html中
     <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
     </head>
     <body>
      <div id="parent">我是一个父亲窗口!</div>
      <iframe id="frame1" name="framename" src="children.html" width="690" height="420" scrolling="auto" style="border:1px solid #bbb;"></iframe><!--主要作用将主业务与副业务区分-->    
    
      <input type="button" onclick="tm_click()" value="我想要调用iframe里面的事件"/> 
      <script type="text/javascript">
        $(function(){
            //contents();
        });
    
        function getIframeObj(id){
            return document.getElementById(id).contentWindow;//一切对象都要在document下面
        }
    
        function tm_click(){
            var iframeDom = getIframeObj("frame1");
            /*
                //var iframeDom = document.frames["framename"].contentWindow;
                //事件能够调用
                iframeDom.tm_children();
                //javascript获取iframe元素内容
                var html = iframeDom.document.getElementById("box").innerHTML;//一切对象都要在document下面
                alert(html);
                
                //javascript转换成jquery对象的写法
                var $html = $(iframeDom.document).find("#box").html();
                alert($html);
            
            */
    
            //contents();
            var $iframe =  $("#frame1").contents();//==$(iframeDom.document)
            var boxHtml = $iframe.find("#box").html();
            alert(boxHtml);
        }
        function tm_parent(){
            alert("您调用了父窗口的方法哦!");
        }
      </script>
     </body>
    
    /////在children.html中
    <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
     </head>
     <body>
        
        <div id="box">我是一个子类的页面哦!同学们好好听课!</div>
        <input type="button" onclick="tm_click()" value="我想要调用父窗体的事件"/> 
        <script type="text/javascript">
            function tm_children(){
                alert("我是一个子类的页面哦!好好学习!");
                
            }
            function tm_click(){
                parent.tm_parent();
                //javascript写法
                //var phtml = parent.document.getElementById("parent").innerHTML;
                //alert(phtml);
                //jquery写法
                var phtml = $(parent.document).find("#parent").html();
                alert(phtml);
            }
        </script>
     </body>
  • 相关阅读:
    js中箭头函数和普通函数this的区别
    jquery DOM操作(一)
    jquery选择器详细说明
    javascript 中关于function中的prototype
    html5一些容易忽略的细节
    javascript 原生得到document.Element的方法
    关于spring autowrie的5种方式
    关于FileSystemXmlApplicationContext和ClassPathXmlApplicationContext路径问题
    【Unity Shader】(十) ------ UV动画原理及简易实现
    【Unity Shader】(九) ------ 高级纹理之渲染纹理及镜子与玻璃效果的实现
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4269536.html
Copyright © 2011-2022 走看看