美文网首页
前端一周04 jQuery选择器、过滤器、DOM 操作、动画

前端一周04 jQuery选择器、过滤器、DOM 操作、动画

作者: 尘榆骡厌 | 来源:发表于2017-11-24 20:22 被阅读0次

    学习JQ

       jq  jQuery   可以把它理解为一个插件   被人封装好的方法或属性的一个集合来给大家使用的
    
        不需要去研究太深,   会使用就可以
        
        底层源码还是原生js来去完成
        
        jQuery 它有一个别名  $
    

    使用  jQuery?
         引入jQuery的依赖
    

        ready   其实很是类似于JavaScript onload 事件 
            页面加载完以后才去执行
            
            ready  只是加载当前的页面完成就可以了
            onload  加载当前页面并且还得加载完页面的一些依赖 才能执行
         
         $(document).ready(function(){
                //  页面加载完成后执行以下的程序  
            })
            
        简写: 
        $(function(){           //  ready 是一样的
            
        });
    

    选择器
        标签选择器                      标签名
            //   标签选择器
            var box = $("div");    //  获取的是一个集合
            //  var box = document.getElementsByTagName('div');
            
        类选择器                       class名
            
            //   类选择器            class名     .代表类
            
            // var ps = $(".re");   //  只能找到class是re的标签     也是一个集合
                //  document.getElementsByClassName('re');
            var ps = $("p");
            console.log(ps);
            
        id选择器                    id名
            //  id选择器                   id名       #代表id
            
            var box = $('#box');   //  是一个集合
            
            console.log(box);
            
        群组选择器
            //  群组选择器                        多个选择器之间用,来分割
            var box = $('div,p,h1,span');
            console.log(box);
    
        后代选择器
            
                    //var p = $('div p');    //   div 下面所有的p都找到
                    //console.log(p);
            
            
        子代选择器
            
            var px = $('div>p');            //  只能找到div的子集的p
            
            console.log(px);
            
        通配选择器
            
            var box = $("*");    //   找到整个文档中的所有元素
            console.log(box);
            
        伪类选择器
            var p = $('div>a:link');
            console.log(p);
    

    层级选择器
    
    $("div span")//选择<div>里所有<span>元素
    $("div>span")//选择<div>元素下元素名为<span>的元素
    $('prev+next')//选择紧接在prev元素后的next元素
    $('prev~siblings')//选择prev元素之后的所有sibling元素
    
    
            var box = $('#box');   //  box
            
            var h1 = $('#box+h1')      //  +  代表找兄弟集元素  只能找到紧挨着的
            console.log(h1);
            
            var ss = $('#box+div');
            console.log(ss);
    

        过滤选择器
        
        :first         :last
        
        var p = $('div>p:last');    //  先找到p集合   :first   找到第一个   
                                                    // :last  找到最后一个
        console.log(p);
        
        
        :even              :odd
        :even   找到索引为偶数的所有元素
        :odd   找到索引为奇数的所有元素
        //  :even   :odd
            
            var p = $('div>p:even').css('background','blue');
            var p = $('div>p:odd').css('background','green');
            
        :eq()       选取索引等于index的元素
            var num = 0;
            $('div>p:eq('+num+')').css('color','red');
            $('#btn').click(function(){
                num++;
                if(num == $('div>p').length){
                    num = 0;
                }
                $('div>p').css('color',"");
                $('div>p:eq('+num+')').css('color','red');
            })
            
        :gt()    :lt()
             gt   选取索引大于index的元素
             lt   选取索引小于index的元素
            var gt = $('div>p:lt(2)');   
            console.log(gt);
            
        :header      找到区域内所有的标题
            
        var h = $('div :header');
            console.log(h);
            
            
        :animated  (选取当前正在执行动画的所有元素)
    

    内容过滤器
        :contains(text)//选取含有文本内容为text的元素
    
        var p = $('p:contains("00")');
            console.log(p);
            
        :empty         //选取不包含子元素或者文本的空元素
    
        :has(selector)//选取含有选择器所有匹配的元素的元素
    

    jq DOM 操作
    
        获取页面内的元素    
        修改页面元素  内容   样式  size
        添加  
        删除
        创建
        复制
    
    
        获取
                $('选择器')    获取到页面的元素
                
        创建   
        
                $("<p></p>").html("ssssss");      p.innerHTML = "ssss"
    
        添加
        
            append()//向每个匹配的元素内部追加内容
    
            appendTo()//将所匹配的元素追加到指定的元素中;$(a).appendTo(b)将a追加到b中
            
            prepend()//向每个匹配的元素内部前置内容,如$("p").prepend("<b>您好</b>");产生<p><b>您好<b>Walkingp</p>
            
            prependTo()//将所匹配的元素前置到指定的元素中。如$("<b>您好</b>").prependTo("p");
            
            after()//在每个匹配的元素之后插入内容,如$("p").prepend("<b>您好</b>");产生<p>Walkingp</p><b>您好</b>
            
            insertAfter()//将所有匹配元素插入到指定元素的后面,如$("<b>您好</b>").insertAfter("<p>");
            
            before()//在所匹配的元素之前插入内容,如$("p").before("<b>您好</b>")产生:<b>您好</b><p>walkingp</p>
            
            insertBefore()//将所匹配的元素插入到指定的元素的前面,如$("<b>您好</b>").insertBefore("p")
    

        属性和样式的操作
        
                属性:
                            attr()
                                获取属性的值和设置属性
                                attr('属性名')              获取属性的值
                                attr('属性名','属性值')     设置属性
                                
                                注意:  attr  可以设置自定义属性   如果设置或者获取元素本身就自带的属性  建议使用prop   
                                
                                
                            
                            prop()
                                获取属性的值和设置属性
                                prop('属性名')              获取属性的值
                                prop('属性名','属性值')     设置属性
                                
                                注意:   prop  主要正对于元素原本就自带的属性
                                
                                
                            removeAttr()   删除属性
                                
                                
            样式:
                        addClass   添加一个类来
                        
                        removeClass    删除一个类
                        
                        css()        改变样式
                        
                        hasClass   判断元素有没有一个类    有这个类就返回true   没有就返回false
                        
                        $('div').hasClass('box');
    

         val()
         
                获取input  select  这些元素的值        
                和原生js中的  value  是一样的功能
                
                val()    获取值
                val('值')   设置值
                
                
                
         节点操作
         //   原生js
         childNodes      parentNode    children     previousSibling  .....
         
         //  jq   
         
         children()     //取得匹配元素的子元素集合      Element    没有text
         
         next()        //取得匹配元素后面紧邻的同辈元素
         
         prev()        //取得匹配元素前面紧邻的同辈元素
         
         siblings()    // 取得匹配元素前后所有的同辈元素集
         
         closest()      //取得最近的匹配元素
         
         
         var child = $('#box').children();    //  找到 $('#box')的子元素
            
            console.log(child);
            
            
            var pre = $('#box').prev();    //  找到$('#box')前面的第一个同辈元素
            
            console.log(pre);
            
            
            var next = $('#box').next();    //  找到$('#box')后面的第一个元素
            
            console.log(next);
            
            
            var preAll = $('#box').prevAll();  //  找到$('#box')前面的所有的同辈元素
            
            console.log(preAll);
            
            var nextAll = $('#box').nextAll();   //  找到$('#box')后面的所有元素
            
            var  sb = $('#box').siblings();     //  找到除了$('#box')所有的同辈元素
            
            console.log(sb);
    

        事件:
            bind
                给绑定一个事件
                .bind('事件类型',fun);
                
                例:     .bind('click',fun)
                            .click(fun)
                            
            hover(enter,leave)方法
            
                //模拟光标悬停事件,光标移动到 元素上触发enter函数,移出元素时触发leave函数。
                
                $('div').hover(function(){
                    $(this).css({"width":"200px","height":"200px"});
                },function(){
                    $(this).css({"width":"100px","height":"100px"});
                })
    
            事件解除绑定
            
                    .bind 绑定   --------     unbind   解除绑定
                    
                    .off()    解除绑定
                    
                    
            trigger()
            
                trigger可为元素一次性绑定多个事件。
    
                $('button:first').click(function(){
                    update($("div>span:first"))
                })
                
                $("button:last").click(function(){
                    update($("div>span:last"))
                    $('button:first').trigger('click');
                })
             
                function update(j) {
                    var n = parseInt(j.html(), 10);
                    j.html(n + 1);
                }
    

        动画
        
            show()     让元素显示
            
            hide()     让元素隐藏
            
            var flag = true;
            $('button').click(function(){
                if(flag){
                    $('.box').hide();
                }else{
                    $('.box').show();
                }
                flag = !flag;
            })
            
            
            
            fadeIn([arg])//提升已降低透明度的元素,直到显示;即“淡出”;
    
            fadeOut([arg])//降低元素透明度,直至隐藏,style值为"none";即 “淡入”
            
            var flag = true;
            $('button').click(function(){
                if(flag){
                    $('div').fadeOut(10000);
                }else{
                    $('div').fadeIn(5000);
                }
                flag = !flag;
            })
            
            
            slideUp()//元素由下到上缩短隐藏
    
            slideDown()//元素由上到下伸展
            
            var flag = true;
            $('button').click(function(){
                if(flag){
                    $('div').slideUp(400);
                }else{
                    $('div').slideDown(400);
                }
                flag = !flag;
            })
    

    相关文章

      网友评论

          本文标题:前端一周04 jQuery选择器、过滤器、DOM 操作、动画

          本文链接:https://www.haomeiwen.com/subject/fxofbxtx.html