.clone( )

    <div class="demo"></div>
<script src = "./jquery.js"></script>
<script>
$('.demo').clone().appendTo('body');//克隆 demo上的属性也会克隆过来(自定义属性也可) </script>
    <div class="demo" style="width: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操作

clone data的更多相关文章

  1. jQuery使用(六):DOM操作之元素包裹、克隆DOM与data的综合应用

    包裹 wrap() wrapInner() wrapAll() unwrap() clone() 数据缓存机制 data 文档处理(包裹) 1.1.wrap()--将所匹配的元素用其他元素结构化标签包 ...

  2. 高性能javascript(记录三)

    DOM(文档对象模型)是一个独立的语言,用于操作XML和HTML文档的程序接口(API).在游览器中,主要用来与HTML文档打交道,同样也用在Web程序中获取XML文档,并使用DOM API用来访问文 ...

  3. JS 复制对象

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  4. 解决HTML5布局,兼容IE问题

    当我们使用h5的新标签,header,footer,aside,section,article...时,会遇到低版本IE不兼容问题,如下图: 解决方案:引入如下JS代码,即可 (这里我就直接放源码了, ...

  5. 移动端图表插件jChart.js的修改

    bug1: 折线图,设置datasetGesture : true时,Y轴的刻度值居然会变.会变也就算了,居然没地方设置不能变. bug2: 折线图,设置tap.point事件,和datasetGes ...

  6. 【原】使用SQLite打开本地*.db文件

    1.下载安装文件:官网下载地址:http://www.sqlite.org/download.html32位安装包:http://www.sqlite.org/2016/sqlite-tools-wi ...

  7. JavaScript 变量克隆和判断变量类型

    一.变量克隆 在js中经常会遇到将一个变量赋值给一个新的变量这种情况,这对于基本类型很容易去实现,直接通过等号赋值就可以了,对于引用类型就不能这样了.(注:像函数,正则也可以直接通过等号赋值) 这里我 ...

  8. -_-#【减少 DOM 访问】“离线”更新节点,再将它们添加到树中

    Minimize DOM Access javascript 之 DOM 优化 <!DOCTYPE html> <html> <head> <meta cha ...

  9. EBS 数据库预克隆日志

    ora02@[/u07/CCTEST02/db/tech_st/11.1.0/appsutil/scripts/CCTEST02_test01] $ T02_test01/StageDBTier_06 ...

随机推荐

  1. 【转载】 强化学习(九)Deep Q-Learning进阶之Nature DQN

    原文地址: https://www.cnblogs.com/pinard/p/9756075.html ------------------------------------------------ ...

  2. Win10+Ubuntu双系统删除Ubuntu方法

    前情提要 Win10下试了许多种方法,什么MbrFix.EasyBCD.亦或是Boot Option.都不行.前两者不行,操作之后重启无法直接进入Windows,后者也不行,找不到所谓的Delete ...

  3. django 增加自定义权限的一个博客,讲的很详细

    来自  https://www.cnblogs.com/huangxm/p/5770735.html

  4. 在Cygwin中出现JAVA_HOME出现故障找不到出现故障

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012516914/article/details/37689937 JAVA_HOME出现故障后查 ...

  5. TableLayoutPanel 动态添加 行 列

       //添加行 横排 ++this.tbPnl.RowCount; this.tbPnl.RowStyles.Add(new System.Windows.Forms.RowStyle(System ...

  6. spark submit参数调优

    在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置 ...

  7. redis 5.0.3 讲解、集群搭建

    REDIS 一 .redis 介绍 不管你是从事Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了 ...

  8. 用a标签实现submit提交按钮的效果

    今天做了一个小项目练手,要求点击a标签后实现post提交的效果,看到这个的时候心理还是有一丝丝懵逼的,不过在朕的十秒钟思考之后有了头绪... 首先表单 <form action="te ...

  9. jekins构建触发器详解-日程表的使用

    日程表参数解释如下: 第一个参数代表的是分钟 minute,取值 0~59: 第二个参数代表的是小时 hour,取值 0~23: 第三个参数代表的是天 day,取值 1~31: 第四个参数代表的是月 ...

  10. Nodepad++ 进行数据分析操作

    查找: ^.*大师兄.*$ 替换为:(空)   如果不留空行: 查找: ^.*大师兄.*\r?\n   注意: Notepad++的[全部替换]受[方向]约束,所以如果想“向下”全部替换,要把光标放到 ...