zoukankan      html  css  js  c++  java
  • clone data

    .clone( )

        <div class="demo"></div>
        <script src = "./jquery.js"></script>
        <script>
            $('.demo').clone().appendTo('body');//克隆 demo上的属性也会克隆过来(自定义属性也可)
    
        </script>
        <div class="demo" style="100px; height:100px;background-color:red"></div>
        <script src = "./jquery.js"></script>
        <script>
            $('.demo').click(function(){
                alert(0);
            });
            $('.demo').clone(true).appendTo('body');
            //事件在clone()里添加参数才能克隆 (并不是所有事件都能克隆)
            $('.demo').prop('data-log','1111')
            console.log( $('.demo').clone.prop('data-log','1111') )//prop里的信息克隆不出来(用data)
            //data jQuery dom 存信息存数据存状态 (data信息存在jQuery对象上,jQuery对象与dom对象有一定映射关系)
            //data 用法:
            $('.demo').data('data-duyi','cg')//值不会存在行间样式之中,但是可以取出来
            $('.demo').data({
                name:'li',
                age:15,
                sex:true
            });//可以传多个值  在控制台取值:$('.demo').data('name'),可以取出name值
            //age是15 取出的就是数字15  用attr取值都是字符串
    
    
        <style>
            .tpl{
                display:none;
            }
        </style>
    <body>
        <table class="stb">
            <tr>
                <th>姓名</th>
                <th>年龄</th>
                <th>班级</th>
            </tr>
            <tr class="tpl">
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </table>
        <script src="./jquery.js"></script>
        <script>
            //克隆使用的场景
            var studentArr = [
                {
                    name: 'li',
                    age: 18,
                    class: 3
                },
                {
                    name: '小王',
                    age: 20,
                    class: 2
                },
                {
                    name: '小李',
                    age: 23,
                    class: 1
                },
            ]; 
            var oWrapper = $('.stb')
            studentArr.forEach(function(ele,index){
               var oCloneDom = $('.tpl').clone().removeClass('tpl');
               oCloneDom
                 .find('td')
                    .eq(0)
                      .text(ele.name)
                        .next()
                          .text(ele.age)
                            .next()
                              .text(ele.class)
                oWrapper.append(oCloneDom);
            })
    
        </script>

    .data( )

    data跟dom 有映射但是不是直接操作dom,所以效率更高  (attr就需要dom操作)

    jQuery中一般用data ,比attr和prop更高效,省去dom操作

  • 相关阅读:
    js 仿 asp中的 asc 和 chr 函数的代码
    escape,encodeURI,encodeURIComponent
    从项目从SVN上check下来,用idea打开后,idea没有SVN的工具栏解决方法
    idea中导入SVN的项目时,连接失败,报“Cannot run program "svn"
    spring基础----事件(Applicaition Event)
    idea在导入项目时遇到的问题
    Spring基础---bean的初始化和销毁
    spring基础----EL和资源调用
    spring基础----Bean的Scope
    面试题-------------js三种信息框
  • 原文地址:https://www.cnblogs.com/tianya-guoke/p/10542147.html
Copyright © 2011-2022 走看看