Jquery

作者: 菲龍探雲 | 来源:发表于2016-09-08 16:51 被阅读22次

    1.Jquery 中, $(document).ready()是什么意思?和window.onload 的区别? 还有其他什么写法或者替代方法?
    $(document).ready():dom绘制完成之后执行
    区别:
    1执行的时间
    $(document).ready():是dom元素绘制完成之后不包括图片
    window.onload:是页面的所有元素加载完成之后包括图片

    2编写的个数
    window.onload:只能写一个 之前的总是会被之后的所覆盖
    $(document).ready():可以写多个,都可以执行到

    $(document).ready()的简化写法
    $().ready(function(){})或是$(function(){})


    2.$node.html()和$node.text()的区别?
    $node.html():包含了节点内的所有内容(包括hmtl标签)
    $node.text():只有节点内的文本内容(不包括html标签)


    3.$.extend 的作用和用法?
    $.extend( [deep ], target, object1 [, objectN ] ):将两个或更多对象的内容合并到第一个对象。

    var css1={width:"200px",color:"red"}
    var css2={width:"200px",height:"150px",color:"black"}
    var css3=$.extend({},css1,css2)
    console.log(css3)//class3={color:"black",height:"150px",width:"200px"}
    

    var object = $.extend({}, object1, object2);合并两个对象,并修改第一个对象。(浅拷贝)

    var class1={张三:{age:25,sex:"男"},李四:{age:25,sex:"男"},王红:{age:25,sex:"男"}}
    var class2={王红:{age:25,sex:"女"},张三:{age:30,sex:"男"},李四:{age:25,sex:"男"}}
    $.extend(class1,class2)
    console.log(class1)//class1={张三:{age:30,sex:"男"},李四:{age:25,sex:"男"},王红:{age:25,sex:"女"}}
    class2["张三"].age=27
    console.log(class2["张三"].age)//class2["张三"].age=27
    console.log(class1["张三"].age)//class2["张三"].age=27
    

    深拷贝

    var class1={张三:{age:25,sex:"男"},李四:{age:25,sex:"男"},王红:{age:25,sex:"男"}}
    var class2={王红:{age:25,sex:"女"},张三:{age:30,sex:"男"},李四:{age:25,sex:"男"}}
    $.extend(true,class1,class2)
    console.log(class1)//class1={张三:{age:30,sex:"男"},李四:{age:25,sex:"男"},王红:{age:25,sex:"女"}}
    class2["张三"].age=27
    console.log(class2["张三"].age)//class2["张三"].age=27
    console.log(class1["张三"].age)//class2["张三"].age=30
    

    $.fn.extend():给原型增加一些属性

    var people={name:"张三"}
    $.fn.extend(people);
    console.log($("document").name)//张三
    

    4.JQuery 的链式调用是什么?
    jq方法都有一个返回值 return this 前一个方法的值可以被后一个方法直接使用。减少代码量看起来更加优雅

    $("button").eq(0).on("click",function(){})
    

    5.JQuery ajax 中缓存怎样控制?
    ache(默认:true,dataType为”script”和”jsonp”时默认为false)

    当设置为false时不做缓存 注意:设置cache为false将在HEAD和GET请求中正常工作。它的工作原理是在GET请求参数附近添加”_={timetamp}”。
    该参数不是其他请求必须的,除了在IE8中,当一个POST请求一个已经用GET请求过的URL。

    当设置为true时会优先从本地获取数据


    6.jquery 中 data 函数的作用
    jQuery.data()方法允许我们在DOM元素上附加任意类型的数据,避免了循环引用的内存泄漏风险;

    用data函数设置的属性 attr无法获取到
    而用attr设置的属性 data可以获取到

    Paste_Image.png Paste_Image.png

    1.给元素 $node 添加 class active,给元素 $noed 删除 class active

    $node.addClass('active');
    $node.removeClass('active')
    

    http://js.jirengu.com/resisasamu/1/edit

    2.展示元素$node, 隐藏元素$node

    $node.show();
    
    $node.hide();
    

    http://js.jirengu.com/resisasamu/2/edit
    3.获取元素$node 的 属性: id、src、title, 修改以上属性

    //获取
    $node.attr("id")
    $node.attr("src")
    $node.attr("title")
    //设置
    $node.attr("id",str)
    $node.attr("src",str)
    $node.attr("title",str)
    

    http://js.jirengu.com/resisasamu/3/edit

    4.给$node 添加自定义属性data-src

    $node.data("src",str)
    

    http://js.jirengu.com/resisasamu/4/edit
    5.在$ct 内部最开头添加元素$node

    $(".ct").prepend(node);
    

    http://js.jirengu.com/qesinitiri/5/edit
    6.在$ct 内部最末尾添加元素$node

    $(".ct").append(node);
    

    http://js.jirengu.com/qesinitiri/6/edit
    7.删除$node

    $(node).remove();
    

    http://js.jirengu.com/qesinitiri/7/edit
    8.把$ct里内容清空

    $(".ct").text("");
    
    $(".ct").empty();
    

    http://js.jirengu.com/qesinitiri/8/edit
    9.在$ct 里设置 html <div class="btn"></div>

    $(".ct").html("<div class=btn></div>");
    

    http://js.jirengu.com/qesinitiri/9/edit
    10.获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)

    $node.width();//不包括内边距宽度,仅包括内容
    
    $node.height();//不包括内边距高度,仅包括内容
    
    $node.innerWidth();//包括内容和内边距宽度
    
    $node.innerHeight();//包括内容和内边距高度
    
    $node.outerWidth();//包括内容,内边距,边框宽度
    
    $node.outerHeight();//包括内容,内边距,边框高度
    
    $node.outerHeight(true);//包括内容,内边距,边框,外边距高度
    
    $node.outerWidth(true);//包括内容,内边距,边框,外边距宽度
    
    
    

    http://js.jirengu.com/qesinitiri/10/edit
    11.获取窗口滚动条垂直滚动距离

    $(window).scrollTop()
    ```
    http://js.jirengu.com/qesinitiri/11/edit
    12.获取$node 到根节点水平、垂直偏移距离
    ```
    $node.offset()
    ```
    http://js.jirengu.com/qesinitiri/12/edit
    13.修改$node 的样式,字体颜色设置红色,字体大小设置14px
    ```
    $node.css({"color":"red","font-size":"14px"})
    ```
    http://js.jirengu.com/dimuwufoya/13/edit
    14.遍历节点,把每个节点里面的文本内容重复一遍
    ```
    $node.each(function(){
    console.log($(this).text())
    })
    ```
    http://js.jirengu.com/dimuwufoya/14/edit
    15.从$ct 里查找 class 为 .item的子元素
    ```
    $(".ct").find(".item")
    ```
    http://js.jirengu.com/dimuwufoya/15/edit
    16.获取$ct 里面的所有孩子
    ```
    $(".ct").children()
    ```
    http://js.jirengu.com/dimuwufoya/16/edit
    17.对于$node,向上找到 class 为’.ct’的父亲,在从该父亲找到’.panel’的孩子
    ```
    $node.parents(".ct").find(".panel")
    ```
    http://js.jirengu.com/dimuwufoya/17/edit
    18.获取选择元素的数量
    ```
    $node.length;
    ```
    ```
    $node.size();
    ```
    http://js.jirengu.com/dimuwufoya/18/edit
    19.获取当前元素在兄弟中的排行
    ```
    $node.index();
    ```
    http://js.jirengu.com/dimuwufoya/19/edit

    相关文章

      网友评论

          本文标题:Jquery

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