• jQuery.data()


    data()函数用于在当前jQuery对象所匹配的所有元素上存取数据

     

    参数描述
    key 可选/String类型指定的键名字符串。
    value 可选/任意类型需要存储的任意类型的数据。
    object Object类型指定的对象,用于封装多个键值对,同时存储多项数据。

    实例一:

    $("#btn1").click(function(){

          $("div").data("greeting", "Hello World");   //  向被选元素附加数据

    });

    $("#btn2").click(function(){

             alert($("div").data("greeting"));             //   获取数据,获取键为"greeting"的值,应该为Hello World

    });

    实例二:

      testObj=new Object();
      testObj.greetingMorn="Good Morning!";
      testObj.greetingEve="Good Evening!";

    $("#btn1").click(function(){
        $("div").data(testObj);
      });

    $("#btn2").click(function(){
        alert($("div").data("greetingEve"));        // 输出"Good Evening!"
      });

    实例三:

    以下面这段HTML代码为例:

    <div id="n1">
        <div id="n2">
            <ul id="n3">
                <li id="n4">item1</li>
                <li id="n5">item2</li>
                <li id="n6">item3</li>
            </ul>
        </div>  
    </div>

    我们编写如下jQuery代码:

    var $li = $("li");
    // 同时向所有的li元素存储数据
    $li.data("name", "CodePlayer");
    $li.data("desc", "专注于编程开发技术分享");
    $li.data("url", "http://www.365mini.com/");

    var $n5 = $("#n5"); // 通过n4、n5、n6都可以读取数据
    //  返回键值name所对应的数据
    document.writeln( $n5.data("name") ); // CodePlayer

    // 以对象形式返回所有的数据
    var obj = $("#n6").data();
    for(var i in obj){
        document.writeln( i + "=" + obj[i] + "<br>");  
    }
    /*输出:
    name=CodePlayer
    desc=专注于编程开发技术分享
    url=http://www.365mini.com/
    */

    //移除掉n4上存储的键名为name的数据
    $("#n4").removeData("name");
    // 虽然$li匹配3个li元素,但是读取数据只以第一个li元素n4为准,因此返回undefined
    document.writeln( $li.data("name") ); // undefined

    var object = {
            name: "张三",
            age: 18,
            score: [87, 23, 56],
            options: { gender: "男", address: "水帘洞" }
        };

    // 同时向所有的div元素以对象形式设置多个key-value数据
    // value值可以是任意类型的数据,包括数组、对象等
    $("div").data( object );

    var $n2 = $("#n2"); // 通过n1、n2都可以读取数据
    document.writeln( $n2.data("name") ); // 张三
    document.writeln( $n2.data("score") ); // 87,23,56
    document.writeln( $n2.data("options") ); // [object Object]
  • 相关阅读:
    H3C防火墙/路由器通过Track实现双线接入
    为了安装runlike 升级python2至python3
    URL:windows_exporter-0.13.0-amd64
    ES_Start
    luogu4323 独特的树叶
    luogu5043
    java操作Jacoco合并dump文件
    【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
    【Azure 应用服务】App Service下部署的应用报错 Out of Memory
    【Azure Developer】使用Key Vault的过程中遇见的AAD 认证错误
  • 原文地址:https://www.cnblogs.com/zxbzl/p/5881533.html
Copyright © 2020-2023  润新知