day11

作者: 折翼自由 | 来源:发表于2018-07-05 15:51 被阅读0次

    今天学了什么

    外部JS与JQuery依赖关系处理

    外部JS与JQuery.png
    外部JS.png

    1配置JQuery

    JQuery官网下载
    jquery-3.3.1.min.js

     <script src="lib/jquery-3.3.1.min.js"></script>
    

    在线JQuery配置

    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    

    2.JQuery选择器

    2.1基本选择器
    $("#one")
    $(".two")
    $("p”)
    $("*")
    $("p,div")
    
    1.2层次选择器
    $(“div >p”)
    $(“div p”)
    $(“div+p”)
    $(“div~p”)
    

    1.3过滤选择器

    1.3.1.基本过滤
    $("p:first-child")
    $("p:last-child")
    $(“p:first”)
    $(“p:last”)
    :not(selector)
    $(“div:not(.one)”)
    $("p:even")  //选择所有偶数项
    $(“p:odd”)
    $("p:eq(index)")
    $(“p:gt(index)”)
    $(“p:lt(index)”)
    $(“:focus”)
    
    1.3.2内容过滤选择器
    $("p:contains(hello)")  //选取文本中含有”hello”的p元素
    $(“div:has(p)”)  //选取含有p元素的div元素
    $(“div:parent”)   //选取含有子元素或者文本的元素  
    

    1.4可见性过滤选择器

    $(“:hidden”)>只能对display:none起作用
    $(“div:visible”)    
    

    1.5子元素过滤选择器

    :nth-child(index)
    :first-child
    :last-child //选中父元素中的最后一个元素
    :only-child

    <p class="one two">
        <span>hello world</span>
    </p>
    $(“p span:only-child”)
    //span是p的唯一子元素时,改变
    

    2.DOM

       <ul>
           <li class="one">1</li>
           <li>2</li>
           <li>3</li>
       </ul>
    

    2.1查找节点

    查找元素节点
    text() 获取元素文本
    text(value) 修改元素的文本
    html() 返回标签个内容含HTML标签
    val()返回标签的值

        <script>
         var txt=$("li:eq(1)").text("hello world");
         console.log(txt);
       </script>
    

    查找属性节点
    attr(key)获取属性的值

      <script>
         var attr=$("li:eq(0)").attr("class");
         console.log(attr);//one
        </script>
    

    2.2创建节点

    a.创建元素节点

    var p = $(“<p></p>”)
    

    b.创建文本节点

    var li4 = $("<li>04</li>")
    

    c.创建属性节点

    var $li=$("<li title='香蕉'>香蕉</li>");
    

    2.3插入节点

    向尾部添加(孩子)
    append();

    向头部添加(孩子)
    prepend();

       <ul>
           <li class="one">1</li>
       </ul>
        <script>
            var $li=$("<li>2</li>");
            var $li_one=$("<li>0</li>")
            $("ul").append($li);
            $("ul").prepend($li_one);
        </script>
    

    在元素后面添加元素(兄弟)
    after();
    insertAfter();

    <p>hello world</p>
    <script>
        var $p = $("<p>后面</p>");
        $p.insertAfter("p");
    </script>
    

    2.4删除节点

    value.remove()

     <ul>
           <li>1</li>
           <li>2</li>
           <li>3</li>
       </ul>
      <button id="btn">btn</button>
        <script>
           $("#btn").click(function(){
                $("ul>li:eq(1)").remove();
           })
        </script>
    

    value.empty()
    让标签的内容消失

    <div>hello world</div>
        <script>
         $("div").empty();
        </script>
    

    2.5 替换节点

    replaceWith()

      <p>hello world</p>
        <script>
            $("p").replaceWith("<strong>replace</strong>")
        </script>
    

    replaceAll()

      <p>hello world</p>
        <p>hello world</p>
        <p>hello world</p>
        <script>
            $("<strong>replace</strong>").replaceAll("p")
        </script>
    

    2.6 包裹节点

    wrap 在外面包裹
    wrapInner 将元素的的子内容(包括文本节点)包裹起来

      <p>hello world</p>
        <p>hello world</p>
        <p>hello world</p>
        <script>
            $("p").wrap("<strong></strong>")
            $("p").wrapInner("<div></div>")
        </script>
    

    <strong><p><div>p</div></p><strong>

    2.7 属性操作

    attr();

    <p title="水果">你喜欢的水果是?</p>
    //获取title属性
    $(“p”).attr(“title”); 
    

    //设置title属性

    $("p").attr("title","苹果"); 
    //设置多个属性
    $("p").attr({"title":"苹果",class:"two"});
    

    removeAttr();

    $("p").removeAttr("title")
    

    2.8 样式操作

    A.获取样式和设置样式

    $(“p”).attr(“class”,”high”)
    

    B.追加样式

    $(“p”).addClass()
    

    C.移除样式

    $(“p”).removeClass()
    

    D.切换样式
    toggleClass()

    <script>
    <p title="水果" class="one">你喜欢的水果是?</p>
    <button >btn</button>
    <script>
        $("button").click(function(){
            $("p").toggleClass("high")
        })
    </script>
    

    E.判断是否含有某个样式
    hasClass()
    //判断是否含有某个class,返回true或false

    <p title="水果" class="one">你喜欢的水果是?</p>
    <button >btn</button>
    <script>
        $("button").click(function(){
            if($("p").hasClass("high")){
                $("p").hide(300);
            }else{
                $("p").addClass("high")
            }
        })
    </script>
    

    //Jquery内部实际上是调用了is()方法来完成这个功能
    $(“p”).is(“.high”) //返回boolean值
    //语法.is(selector)

    3.遍历节点

    a. children()方法
    所有子级元素
    b.next()
    找到元素的下一个元素
    c.prev()
    找到元素的上一个元素

     <div>
            <p>hello world</p>
            <p>hello world</p>
            <p>hello world</p>
        </div>
        <script>
          var childs=$("div").children();
          childs.css({color:"red"});
          $("p:eq(1)").prev().css({backgroundColor:"green"});
          $("p:eq(1)").next().css({backgroundColor:"yellow"});
        </script>
    

    d.siblings();
    //获取(除自己)匹配元素前后所有的同辈元素

        <script>
          var sibs=$("p:eq(0)").siblings();
          sibs.css({color:"red"});
        </script>
    

    e.closet();
    closest() 从本身开始找,逐级匹配,并返回最先匹配的祖先元素
    f.closet(),parent(),parents()的区别
    parent()匹配父级 亲爹
    parents() 获取祖先

        <div class="grandfather">
            grandF
            <div>
                parent
                <p>hello world</p>
            </div>
        </div>
        <script>
            $(function () {
                // var parent = $("p").parent();
                // var parents = $("p").parents();
                var closet = $("p").closest(".grandfather");
                console.log(closet);
            })
        </script>
    

    4.过滤节点

    a.eq(index)
    b.not()
    c.first()
    d.last()
    e.is()
    f.filter()

    <ul>
            <li>1</li>
            <li class="one">1</li>
            <li>1</li>
        </ul>
        <script>
          $("li").filter(".one").css({color:"red"});
        </script>
    

    5.css的操作

    a.获取样式
    (“p”).css(“color”); b.修改样式(“p”).css({“color”,”yellow”});
    c.offset()
    //获取元素在当前视窗的相对偏移
    (“p”).offset().left; //获取左偏移(“p”).offset().top; //获取顶部偏移

    //css
     <style>
            div{
                width: 100px;
                height: 100px;
                background:red;
                margin: 100px;
            }
        </style>
    //html
       <div>
       </div>
        <script>
         $(function(){
             debugger;
             var left=$("div").offset().left;
             var top=$("div").offset().top;
         })
        </script>
    

    d.postion();
    获取定位元素
    left //获取left的值
    top //获取top的值

    相关文章

      网友评论

          本文标题:day11

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