zoukankan      html  css  js  c++  java
  • Python学习第86天(jQuery开始)

    一、jQuery是啥?

      一个叫John Resig的美国程序员创建的,至今已吸引了来自世界各地的众多 javascript高手加入其team。

        jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE!

        它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器

      jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

      jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

    二、 什么是jQuery对象?

      jQuery 对象就是通过jQuery包装DOM对象后产生的对象。

      jQuery 对象是 jQuery 独有的如果一个对象是 jQuery 对象那么它就可以使用 jQuery 里的方法: $(“#test”).html();

    $("#test").html()    
           //意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 
    
           // 这段代码等同于用DOM实现代码: document.getElementById(" test ").innerHTML; 
    
           //虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错
    
           //约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$. 
    
    var $variable = jQuery 对象
    var variable = DOM 对象
    
    $variable[0]:jquery对象转为dom对象      $("#msg").html(); $("#msg")[0].innerHTML

      jquery的基础语法:$(selector).action()  

      引入jQuery的方式<script src = ‘ jQuery3.1.1.1.’><script>

    三、元素寻找(选择器、筛选器)

      1、选择器

        1.1基本选择器 (基本方式和css中的一样)

          $ ( ' * ' )            选择所有标签

          $( ' #id' )          通过选定id来找到标签 

          $( '.class' )       通过类名查找标签

          $('element' )     通过标签名称来查找标签

          $('.class ,p,div') 逗号用于分隔,表示并列存在好几个标签

        1.2层级选择器

           $(".outer div")         查找所有子代的div标签,向下没有下限

           $(".outer>div")   仅查找自己自带的,不会向孙子代延伸

           $(".outer+div")   查找紧挨着的同级标签

           $(".outer~div")  查找隔一个的同级标签

          后两个用的很少

        1.3 基本筛选器 (主要用在li标签,就是体现标题目录的那个标签)

          $("li : first")     li下的第一个标签,同时也会存在last

          $("li : eq(2)")    li下的第三个标签,通过eq进行索引调取 

            $("li : even")     li所有的奇数项标签,虽然even是偶数的意思,但是因为标签索引从0开始,所以导致他显示的是奇数,偶数为odd

          $("li : gt(1)")     lt和gt分别表示前一个和后一个的,也可增加索引

        1.4 属性选择器  

          $('[id="div1"]')          调取了一个属性

          $('["alex="sb"][id]')  调取了两个或多个属性就行筛选

        1.5表单选择器 

          $("[type='text']")----->$(":text")         注意只适用于input标签  : $("input:checked")

      2.筛选器

        2.1  过滤筛选器   

          $("li").eq(2)    $("li").first()    $("ul li").hasclass("test")

          上述表示方式看起来和之前的基础选择器没有什么区别,但是这里完美的吧索引放的位置放在了文本内容之外,这样需要查找的内容就不在是自己写死的,

          可以用变量进行代替

        2.2  查找筛选器

          $("div").children(".test")     查找子代中的类名为test的标签,这里仅向下一级,找寻自己的子代

          $("div").find(".test")       查找所有子代中的类名为test的表情,向下很多代

          $(".test").next()        选择同级的下一个标签

           $(".test").nextAll()        选择同级的下面的剩余所有标签

           $(".test").nextUntil()          在nextUntil中添加参数,遇到id是多少,class是多少,知道遇到后停止,但不包括遇到的这个标签(li:eq(2)也可以作为条件参数)

           $("div").prev()      $("div").prevAll()    $("div").prevUntil()

          表示同级标签的前面,具体内容和next是一一对应的。

           $(".test").parent()       $(".test").parents()       $(".test").parentUntil()

          表示父集标签,具体内容和next是一一对应的。parents表示无限网上找,parentUntil()会添加参数条件进行查找。

           $("div").siblings()

          选定除了自己剩余的所有同级标签

    下面是一个使用最新的jQuery的方法,实现下拉菜单效果,即点菜单一,显示菜单一的内容,点二显示二,同时一消失:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>tab</title>
        <script>
               function tab(self){
                   var index=$(self).attr("xxx");
                   $("#"+index).removeClass("hide").siblings().addClass("hide");
                   $(self).addClass("current").siblings().removeClass("current");
               }
        </script>
        <style>
            *{
                margin: 0px;
                padding: 0px;
            }
            .tab_outer{
                margin: 0px auto;
                 60%;
            }
            .menu{
                background-color: #cccccc;
                /*border: 1px solid red;*/
                line-height: 40px;
            }
            .menu li{
                display: inline-block;
            }
            .menu a{
                border-right: 1px solid red;
                padding: 11px;
            }
            .content{
                background-color: tan;
                border: 1px solid green;
                height: 300px;
            }
            .hide{
                display: none;
            }
    
            .current{
                background-color: darkgray;
                color: yellow;
                border-top: solid 2px rebeccapurple;
            }
        </style>
    </head>
    <body>
          <div class="tab_outer">
              <ul class="menu">
                  <li xxx="c1" class="current" onclick="tab(this);">菜单一</li>
                  <li xxx="c2" onclick="tab(this);">菜单二</li>
                  <li xxx="c3" onclick="tab(this);">菜单三</li>
              </ul>
              <div class="content">
                  <div id="c1">内容一</div>
                  <div id="c2" class="hide">内容二</div>
                  <div id="c3" class="hide">内容三</div>
              </div>
    
          </div>
    </body>
    </html>

      终于是在白天完成了任务,晚上可以嗨一嗨了。

  • 相关阅读:
    C++11并发之std::thread<转>
    YUV420格式解析<转>
    在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度<转>
    curl 超时设置<转>
    C++中map用法详解《转》
    同一台服务器配置多个tomcat服务的方法
    找出两个排好序的数组的中位数
    mysql中设置默认字符编码为utf-8
    大步小步攻击算法_完全版
    ACL登陆认证
  • 原文地址:https://www.cnblogs.com/xiaoyaotx/p/12943306.html
Copyright © 2011-2022 走看看