zoukankan      html  css  js  c++  java
  • jQuery基础--jQuery特殊属性操作

    1、index()

    会返回当前元素在所有兄弟元素里面的索引。
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    <ul>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
      <li><a href="#">我是链接</a></li>
    </ul>
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        
        
        
        //index()会返回当前元素在所有兄弟元素里面的索引。
        $("li").click(function () {
          console.log($(this).index());
        });
        
        
      });
    </script>
    
    </body>
    </html>
    

     2、

    1.1. val方法

    val方法用于设置和获取表单元素的值,例如input、textarea的值

    //设置值
    $("#name").val(“张三”);
    //获取值
    $("#name").val();
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    <input type="button" value="呵呵" id="btn">
    <input type="text" value="洋酒" id="txt">
    
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        //console.log($("#btn").val());
        //$("#btn").val("哈哈");
        //console.log($("#btn").attr("value"));
        
        //$("#txt").val("123");
        
        
        $("#txt").focus(function () {
          //如果是默认值,清空内容
          if($(this).val() === "洋酒"){
            $(this).val("");
          }
        });
      
        $("#txt").blur(function () {
          if($(this).val() === ""){
            $(this).val("洋酒");
          }
        });
        
        
      });
    </script>
    </body>
    </html>
    

      

    1.2. html方法与text方法

    html方法相当于innerHTML text方法相当于innerText

    //设置内容
    $(“div”).html(“<span>这是一段内容</span>”);
    //获取内容
    $(“div”).html()
    
    //设置内容
    $(“div”).text(“<span>这是一段内容</span>”);
    //获取内容
    $(“div”).text()
    

    区别:html方法会识别html标签,text方法会那内容直接当成字符串,并不会识别html标签。

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    
    <div><h3>我是标题</h3></div>
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        
        //html:innerHTML  text:innerText
        //console.log($("div").html());//<h3>我是标题</h3>
        //console.log($("div").text());//我是标题
        
        //$("div").html("<p>我是文本</p>");
        $("div").text("<p>我是文本</p>");
        
      });
    </script>
    
    </body>
    </html>
    

      

    1.3. width方法与height方法

    设置或者获取高度

    //带参数表示设置高度
    $(“img”).height(200);
    //不带参数获取高度
    $(“img”).height();

    获取网页的可视区宽高

    //获取可视区宽度
    $(window).width();
    //获取可视区高度
    $(window).height();
    

      

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <style>
        div {
           200px;
          height: 200px;
          background-color: red;
          padding: 10px;
          border: 10px solid #000;
          margin: 10px;
        }
      </style>
    </head>
    <body>
    <div></div>
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        //获取div的宽度
        //console.log($("div").css("width"));
        //$("div").css("width", "400px");
        
        //直接获取到的是数字
        //就是获取的width的值
        console.log($("div").width());//width
        //console.log($("div").innerWidth());//padding+width
        //console.log($("div").outerWidth());//padding+width+border
        //console.log($("div").outerWidth(true));//padding+width+border+margin
        //$("div").width(400);
        
        
        //需要获取页面可视区的宽度和高度
    //    $(window).resize(function () {
    //      console.log($(window).width());
    //      console.log($(window).height());
    //    });
      
      });
    </script>
    </body>
    </html>
    

      

    1.4. scrollTop与scrollLeft

    设置或者获取垂直滚动条的位置

    //获取页面被卷曲的高度
    $(window).scrollTop();
    //获取页面被卷曲的宽度
    $(window).scrollLeft();
    

    【案例:仿腾讯固定菜单栏案例】 【案例:小火箭返航案例】

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <style>
        body {
          height: 4000px;
           4000px;
        }
      </style>
    </head>
    <body>
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        
        $(window).scroll(function () {
          console.log($(window).scrollTop());
          console.log($(window).scrollLeft());
        });
        
      });
    </script>
    
    </body>
    </html>
    

      

    <!DOCTYPE html>
    <html>
    <head lang="en">
      <meta charset="UTF-8">
      <title></title>
      <style>
        * {
          margin: 0;
          padding: 0
        }
        
        img {
          vertical-align: top;
        }
        
        .main {
          margin: 10px auto 0;
           1000px;
        }
        
        .fixed {
          position: fixed;
          top: 0;
          left: 0;
        }
      </style>
      
      <script src="../jquery-1.12.4.js"></script>
      <script>
        $(function () {
          
          $(window).scroll(function () {
            //判断卷去的高度超过topPart的高度
            //1. 让navBar有固定定位
            //2. 让mainPart有一个marginTop
            if($(window).scrollTop() >= $(".top").height() ){
              $(".nav").addClass("fixed");
              $(".main").css("marginTop", $(".nav").height() + 10);
            }else {
              $(".nav").removeClass("fixed");
              $(".main").css("marginTop", 10);
            }
            
          });
          
        });
      </script>
    
    </head>
    <body>
    <div class="top" id="topPart">
      <img src="images/top.png" alt=""/>
    </div>
    <div class="nav" id="navBar">
      <img src="images/nav.png" alt=""/>
    </div>
    <div class="main" id="mainPart">
      <img src="images/main.png" alt=""/>
    </div>
    </body>
    </html>
    

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <style>
        body {
          height: 8000px;
        }
        
        a {
          color: #FFF;
        }
        
        .actGotop {
          position: fixed;
          bottom: 50px;
          right: 50px;
           150px;
          height: 195px;
          display: none;
          z-index: 100;
        }
        
        .actGotop a, .actGotop a:link {
           150px;
          height: 195px;
          display: inline-block;
          background: url(images/gotop.png) no-repeat;
          outline: none;
        }
        
        .actGotop a:hover {
           150px;
          height: 195px;
          background: url(images/gotop.gif) no-repeat;
          outline: none;
        }
      </style>
    
      
    </head>
    <body>
    <!-- 返回顶部小火箭 -->
    <div class="actGotop"><a href="javascript:;" title="Top"></a></div>
    
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        
        //当页面超出去1000px的时候,让小火箭显示出来,如果小于1000,就让小火箭隐藏
        $(window).scroll(function () {
          if($(window).scrollTop() >= 1000 ){
            $(".actGotop").stop().fadeIn(1000);
          }else {
            $(".actGotop").stop().fadeOut(1000);
          }
        });
        
        function getScroll(){
          return {
            left:window.pageYOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
            top:window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
          }
        }
        
        //在外面注册
        $(".actGotop").click(function () {
          //$("html,body").stop().animate({scrollTop:0},3000);
          //scrollTop为0
          //$(window).scrollTop(0);
        })
        
      });
    </script>
    </body>
    </html>
    

      

    1.5. offset方法与position方法

    offset方法获取元素距离document的位置,position方法获取的是元素距离有定位的父元素的位置。

    //获取元素距离document的位置,返回值为对象:{left:100, top:100}
    $(selector).offset();
    //获取相对于其最近的有定位的父元素的位置。
    $(selector).position();
    
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
        
        .father {
           400px;
          height: 400px;
          background-color: pink;
          position: relative;
          margin: 100px;
        }
        
        .son {
           200px;
          height: 200px;
          background-color: red;
          position: absolute;
          top: 100px;
          left: 100px;
        }
      </style>
    </head>
    <body>
    
    <div class="father">
      <div class="son"></div>
    </div>
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        
        //获取元素的相对于document的位置
        console.log($(".son").offset());
        
        //获取元素相对于有定位的父元素的位置
        console.log($(".son").position());
        
        
      });
    </script>
    
    </body>
    </html>
    

     empty()

    触发事件click()

    trigger()

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    
    <input type="button" value="触发" id="btn">
    <p>我是一个p元素</p>
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        
        $("p").on("click", function () {
          alert("呵呵");
        })
        
        
        //toggle:切换  trigger:触发
        $("#btn").on("click",function () {
          //触发p元素的点击事件
          //$("p").click();
          //$("p").trigger("click");
        });
       
        
      });
    </script>
    </body>
    </html>
    

      

    delay(2000)

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <style>
        div {
           400px;
          height: 60px;
          background-color: pink;
          text-align: center;
          line-height: 60px;
          font-size: 30px;
          margin: 100px auto;
          display: none;
          
        }
      </style>
    </head>
    <body>
    <div>这个一个提示消息</div>
    
    
    <script src="jquery-1.12.4.js"></script>
    <script>
      $(function () {
        
        $("div").fadeIn(1000).delay(2000).fadeOut(1000);
        
      });
    </script>
    </body>
    </html>
    

      

    链式编程
    //设置性操作:可以链式编程
        //获取性操作,不能链式,因为获取性操作,数值,字符串,
        //返回值是不是一个jq对象。
        console.log($("div").width(200).height(200).css("backgroundColor", "pink").width());
    

      案例

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <title>五角星评分案例</title>
      <style>
        * {
          padding: 0;
          margin: 0;
        }
        
        .comment {
          font-size: 40px;
          color: #ff16cf;
        }
        
        .comment li {
          float: left;
        }
        
        ul {
          list-style: none;
        }
      </style>
      <script src="jquery-1.12.4.js"></script>
      <script>
        $(function () {
          
          //1. 给li注册鼠标经过事件,让自己和前面所有的兄弟都变成实心
          var wjx_k = "☆";
          var wjx_s = "★";
          $(".comment>li").on("mouseenter", function () {
            $(this).text(wjx_s).prevAll().text(wjx_s);
            $(this).nextAll().text(wjx_k);
          });
          
          //2. 给ul注册鼠标离开时间,让所有的li都变成空心
          $(".comment").on("mouseleave", function () {
            $(this).children().text(wjx_k);
            
            //再做一件事件,找到current,让current和current前面的变成实心就行。
            $("li.current").text(wjx_s).prevAll().text(wjx_s);
          });
          
          //3. 给li注册点击事件
          $(".comment>li").on("click", function () {
            $(this).addClass("current").siblings().removeClass("current");
          });
          
          
        });
      </script>
      
      
    </head>
    
    <body>
    <ul class="comment">
      <li>☆</li>
      <li>☆</li>
      <li>☆</li>
      <li>☆</li>
      <li>☆</li>
    </ul>
    </body>
    
    </html>
    

      each()用法

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <title>复制</title>
      <style>
        ul {
          list-style: none;
        }
        
        li {
          float: left;
           200px;
          height: 200px;
          background: pink;
          text-align: center;
          line-height: 200px;
          margin: 0 20px 20px 0;
        }
      </style>
      
      <script src="jquery-1.12.4.js"></script>
      <script>
        $(function () {
          
    //      for(var i = 0; i < $("li").length; i++) {
    //        $("li").eq(i).css("opacity", (i+1)/10);
    //      }
          //each方法
          $("li").each(function (index, element) {
            $(element).css("opacity", (index+1)/10);
          })
          
          
        });
      </script>
      
    </head>
    
    <body>
    <ul id="ulList">
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
      <li>什么都看不见</li>
    </ul>
    </body>
    
    </html>
    

      

    $冲突解决

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      
      
      <script src="itcast.js"></script>
      <script src="jquery-1.12.4.js"></script>
      
      
      <script>
        
        console.log($);
        
        //jQuery释放$的控制权
        var mm = $.noConflict();
        
        jQuery(function () {
          
        });
        
      </script>
    </head>
    <body>
    
    </body>
    </html>
    

      



  • 相关阅读:
    【LeetCode】226. Invert Binary Tree
    【LeetCode】235. Lowest Common Ancestor of a Binary Search Tree
    【LeetCode】191. Number of 1 Bits
    【LeetCode】122. Best Time to Buy and Sell Stock II
    【LeetCode】100. Same Tree
    【LeetCode】237. Delete Node in a Linked List
    【LeetCode】136. Single Number
    【LeetCode】104. Maximum Depth of Binary Tree
    svn tree conflicts 解决方法
    sed详解
  • 原文地址:https://www.cnblogs.com/eadela/p/11274513.html
Copyright © 2011-2022 走看看