美文网首页我爱编程
jQuery 常用方法&ajax

jQuery 常用方法&ajax

作者: 咩咩咩1024 | 来源:发表于2016-11-06 10:49 被阅读25次

    问答

    一、Jquery 中, $(document).ready()是什么意思?和window.onload 的区别? 还有其他什么写法或者替代方法?

    1.$(document).ready()意思是等页面中的DOM元素加载完毕后再执行jQuery代码。

    • window.onload是等待DOM及其他元素(如图片,css,引用文件)也就是页面的所有元素加载完成后执行代码。只能执行一个,如果有多个,就执行最后一个。
    • $(document).ready()只需要在页面中所有的DOM结构绘制完毕后就执行。并且能同时编写多个,根据编写顺序依次执行

    3.$(document).ready()可以简写成:$(function(){});

    二、$node.html()和$node.text()的区别?

    1.$node.html()

    $node.html()
    

    不传入值,就是获取集合中第一个匹配元素的HTML内容。

    $node.html(htmlString)
    

    设置每一个匹配元素的html内容。

    $node.html(function(index,oldhtml))
    

    用来返回设置HTML内容的一个函数。
    2.$node.text()

    $node.text()
    

    得到匹配元素集合中每个元素的合并文本,包括他们的后代。

    $node.text(textString)
    

    用于设置匹配元素内容的文本。

    $node.text(function(index,text))
    

    用来返回设置文本内容的一个函数。

    代码示例:
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
    </head>
    <body>
        <div id="box1">
            <p>这是一个段落<span>嘿嘿嘿</span></p>
        </div>
        <div id="box2">
            <p>这是一个段落<span>嘿嘿嘿</span></p>
        </div>
        <div id="box3">
            <p>这是一个段落<span>嘿嘿嘿</span></p>
        </div>
        <div id="box4">
            <p>这是一个段落<span>嘿嘿嘿</span></p>
        </div>
        <script>
            console.log($("#box1").html());
            console.log($("#box2").html("<h1>我是一个大标题</h1>"));
            console.log($("#box3").text());
            console.log($("#box4").text("我是替换的新文本内容"));
        </script>
    </body>
    </html>
    
    输出结果

    三、$.extend 的作用和用法?

    1.作用:将一个或多个对象的属性添加给目标对象。
    2.用法:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
    </head>
    <body>
        <div id="box"></div>
        <script>
            var obj1={
                name: "张三",
                age: 25,
                height: 180,
                address: {
                    city: "杭州"
                }
            }
            var obj2={
                name: "李四",
                sex: "男",
                address: {
                    street: "jichang"
                }
            }
        </script>
    </body>
    </html>
    
    • 第一个参数作为目标对象,后面的对象参数的属性会添加到目标对象中。如果只有一个参数,那么jQuery对象本身将被作为目标对象。可以通过这种方法向jQuery的命名空间添加新的功能。
    示例
    • 如果第一个参数是true,那么合并的多个对象内部的对象参数就不会产生合并的现象,全部都会展示出来。
    示例
    • 作为目标对象的第一个参数会被修改,如果想要保留目标对象原先的值,可以将第一个参数设置为空对象。
    示例

    四、JQuery 的链式调用是什么?

    jQuery的链式调用是指对一个对象连续的使用jQuery方法。

    $(this).removeClass("mouseout").addClass("mouseover").next().show()
    

    这么做的好处是让代码更加简洁易读,减少代码的重复性,提高代码的可读性。其中的原理是执行完一个方法后就返回对象本身(return this),然后对象继续执行后面的方法。

    五、JQuery ajax 中缓存怎样控制?

    jQuery ajax方法中是利用cache参数来控制缓存的。
    设置为true将缓存页面(默认为true,dataType为“script”和“jsonp”时默认为false)。如果设置为false,浏览器将不会缓存页面。
    其工作原理是在GET请求参数中附加“={timestamp}”时间戳,使请求的链接每次都不同。

    六、jquery 中 data 函数的作用

    1.data([key],[value])作用:在元素上存放数据,返回jQuery对象。
    2.参数:key:存储的数据名;value:将要存储的任意数据。
    3.代码示例:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
    </head>
    <body>
        <div id="box1"></div>
        <div id="box2"></div>
        <script>
            console.log($("#box1").data("blah")); //undefined
            $("#box1").data("blah","hello"); //设置blah为hello
            console.log($("#box1").data("blah")); //hello
            $("#box1").removeData("blah"); //移除blah设置的值
            console.log($("#box1").data("blah")); //undefined
    
            $("#box2").data("test",{first:16,last:"pizza"}); //给存储名为test的对象存储内容{first:16,last:"pizza"}
            console.log($("#box2").data("test").first); //16
            console.log($("#box2").data("test").last); //pizza
            console.log($("#box2").data("test")); //{first: 16, last: "pizza"}
            $("#box2").removeData("test"); //移除test设置的内容
            console.log($("#box2").data("test")); //undefined
        </script>
    </body>
    </html>
    
    
    本文版权归本人和饥人谷所有,转载请注明来源。

    相关文章

      网友评论

        本文标题:jQuery 常用方法&ajax

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