关于jQuery

作者: 湾里晴空 | 来源:发表于2018-05-21 15:49 被阅读0次

    jQuery1.x版本和jQuery2.x版本有什么区别?

    • jQuery1.x支持IE6,7,8,但是jQuery2.x不再对IE8或者更早的浏览器支持。

    介绍常见的选择器,以及以下API的用法

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
      <title>JS Bin</title>
    </head>
    <body>
      <header id="top">
        <div class="child">1</div>
        <div class="child">2</div>
        <div class="child">3</div>
         <div class="child">4</div>
        <div class="ok">ok</div>
      </header>
    <script>  
    $('.child').eq(2)           // 获得结果集中的第三个jQuery对象
    $('.child').next()    // next取得匹配的元素集合中每个元素紧邻的后面同辈元素的集合,previous相反,获取元素之前的同辈元素
    $('.child').nextAll()  // 获得每个匹配元素集合中每个元素所有后面的同辈元素,选择性筛选的选择器。prevAll与之相反,获取元素前面的同辈元素
    $('.child').siblings()   // 获得匹配元素集合中每个元素的兄弟元素,可以提供一个可选的选择器。
    $('.child').parent()   //  取得匹配元素集合中,每个元素的父元素
    $('.child').parents()   // 获得集合汇总每个匹配元素的祖先元素
    $('.child').children()  // 获得匹配元素集合中每个元素的直接子元素,选择器选择性筛选。
    $('.child').find()   //  查找符合选择器的后代元素
    $('.child').filter(selector)   // 筛选当前结果集合中符合条件的对象,参数可以是一个选择器
    $('.child').filter(function(index))   //筛选当前结果集合中符合条件的对象,参数可以是一个函数
    $('.child').has()    // 筛选匹配元素集合中的那些有相匹配的选择器
    $('.child').is(selector)   // 判断当前匹配的元素集合中的元素是否为一个选择器
    
    </script> 
    </body>
    </html>
    

    使用 jQuery 实现 Tab 切换效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
        <style>
            * {
                padding: 0;
                margin:0;
                font: 14px/1.5
            }
            .tap-number {
                float: left;
                padding: 5px 20px;
                border-top: black 1px solid;
                border-left: black 1px solid;
                background-color: #dddddd
            }
            .tap-number:last-child{
                border-right: black 1px solid;            
            }
            .nav::after{
                content:'';
                display: block;
                width: 100%;
                clear:both;
            }
            .nav {
                padding-left: 10px;
                padding-top: 10px;
            }
            .panel{
                padding: 30px;
                background-color: white;
                height: 200px;
                width: 300px;
                border:black 1px solid;
                display: none
            }
            .content{
                padding-left: 10px;
            }
            .panel.active{
                display: block;
            }
            .tap-number.active{
                background: white;
            }
        
        
        
        </style>
    </head>
    <body>
        <div class = 'whole'>
            <div class= 'tap-whole'>
                <div class= 'nav '>
                    <div class= 'tap-number active'>1</div>
                    <div class= 'tap-number'>2</div>
                    <div class= 'tap-number'>3</div>
                    <div class= 'tap-number'>4</div>
                </div>
                <div class = 'content'>
                    <div class= 'panel active'>panel1</div>
                    <div class= 'panel'>panel2</div>
                    <div class= 'panel'>panel3</div>
                    <div class= 'panel'>panel4</div>
                </div>
            </div>
    
            <div class= 'tap-whole'>
                    <div class= 'nav '>
                        <div class= 'tap-number active'>1</div>
                        <div class= 'tap-number'>2</div>
                        <div class= 'tap-number'>3</div>
                        <div class= 'tap-number'>4</div>
                    </div>
                    <div class = 'content'>
                        <div class= 'panel active'>panel1</div>
                        <div class= 'panel'>panel2</div>
                        <div class= 'panel'>panel3</div>
                        <div class= 'panel'>panel4</div>
                    </div>
                </div>
    
        </div>
        <script>
            $('.tap-number').on('click',function(){
               
                $(this).addClass('active').siblings().removeClass('active');
                $(this).parents('.tap-whole').find('.panel').eq( $(this).index()).addClass('active').siblings().removeClass('active');
            })
    </script>
    </body>
    </html>
    

    使用 原生 js 实现 Tab 切换效果

    <script>
    
    document.querySelectorAll('.mod-tab .tab').forEach(function(node){
      node.addEventListener('click', function(){
        var index
        this.parentElement.querySelectorAll('.tab').forEach(function(tab, idx){
          tab.classList.remove('active')
          if(node === tab){
            index = idx
          }
        })
        this.classList.add('active')
        this.parentElement.nextElementSibling.querySelectorAll('.panel').forEach(function(panel){
          panel.classList.remove('active')
        })
        this.parentElement.nextElementSibling.querySelectorAll('.panel')[index].classList.add('active')
      })
    })
    </script>
    

    相关文章

      网友评论

        本文标题:关于jQuery

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