clone data
.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的更多相关文章
- jQuery使用(六):DOM操作之元素包裹、克隆DOM与data的综合应用
		包裹 wrap() wrapInner() wrapAll() unwrap() clone() 数据缓存机制 data 文档处理(包裹) 1.1.wrap()--将所匹配的元素用其他元素结构化标签包 ... 
- 高性能javascript(记录三)
		DOM(文档对象模型)是一个独立的语言,用于操作XML和HTML文档的程序接口(API).在游览器中,主要用来与HTML文档打交道,同样也用在Web程序中获取XML文档,并使用DOM API用来访问文 ... 
- JS 复制对象
		<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ... 
- 解决HTML5布局,兼容IE问题
		当我们使用h5的新标签,header,footer,aside,section,article...时,会遇到低版本IE不兼容问题,如下图: 解决方案:引入如下JS代码,即可 (这里我就直接放源码了, ... 
- 移动端图表插件jChart.js的修改
		bug1: 折线图,设置datasetGesture : true时,Y轴的刻度值居然会变.会变也就算了,居然没地方设置不能变. bug2: 折线图,设置tap.point事件,和datasetGes ... 
- 【原】使用SQLite打开本地*.db文件
		1.下载安装文件:官网下载地址:http://www.sqlite.org/download.html32位安装包:http://www.sqlite.org/2016/sqlite-tools-wi ... 
- JavaScript 变量克隆和判断变量类型
		一.变量克隆 在js中经常会遇到将一个变量赋值给一个新的变量这种情况,这对于基本类型很容易去实现,直接通过等号赋值就可以了,对于引用类型就不能这样了.(注:像函数,正则也可以直接通过等号赋值) 这里我 ... 
- -_-#【减少 DOM 访问】“离线”更新节点,再将它们添加到树中
		Minimize DOM Access javascript 之 DOM 优化 <!DOCTYPE html> <html> <head> <meta cha ... 
- EBS 数据库预克隆日志
		ora02@[/u07/CCTEST02/db/tech_st/11.1.0/appsutil/scripts/CCTEST02_test01] $ T02_test01/StageDBTier_06 ... 
随机推荐
- maven pom.xml配置文件详解
			1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/ ... 
- 我的代码-cleaning
			# coding: utf-8 # In[18]: import pandas as pdimport numpy as npfrom sklearn import treefrom sklearn. ... 
- django 多对多 增 删 改 查
			一.通过url方式实现多对多的:增加,删除,编辑 代码目录: urls.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 
- 1,python 的基本数据类型
			Python3 中有6个标准的数据类型:Number(数字);字符串(String);列表(list);元组(Tuple);字典:(Dict);集合(Sets) Number: 数字 int整形 fl ... 
- Java_IO异常处理方式_入门小笔记
			package IO; import java.io.FileWriter; import java.io.IOException; /** * IO异常处理方式 */ class FileWrite ... 
- 小程序通过background-image设置背景图片
			微信小程序通过background-image设置背景:只支持线上图片和base64图片,不支持本地图片:base64图片设置步骤如下: 1.在网站http://imgbase64.duoshiton ... 
- Mac 永久添加 环境变量方法
			在 ~ 目录下 新建 .bash_profile 文件 在文件新增 export PATH="$PATH:/Users/zhangpengchao/tools/flutter/flutter ... 
- mysql查询中AND与OR注意事项
			在查询的where条件中,and要优于or 如果要改变优先级, 需要在最小逻辑判断的条件外加括号(),例如: select * from `table_name` where (`type` = 1 ... 
- verilog 代码分析与仿真
			verilog 代码分析与仿真 注意:使用vivado 自带的仿真工具, reg和wire等信号需要赋予初始值 边沿检测 module signal_test( input wire cmos_pcl ... 
- Flask--(项目准备)--框架搭建,配置文件抽取,业务逻辑抽取
			抽取配置文件: import logging from redis import StrictRedis class Config(object): """项目的配置&q ... 
