<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<script language="JavaScript">
<!--
function cc(obj){
oNewSel = obj.cloneNode(true);
oNewSel.setAttribute("id","jhdakjhdasjd");
oNewSel.options[obj.selectedIndex].selected=true;
document.body.insertBefore(oNewSel);
alert(oNewSel.outerHTML);
}
//-->
</script>
</head>
<body>
<select name="" id="asel">
<option value=1>1</option>
<option value=2>2</option>
<option selected value=3>3</option>
<option value=4>4</option>
</select>
<input type="button" value="copy" onclick="cc(asel);">
<div id="diva"></div>
</body>
</html>
注意:使用cloneNode方法,无法去修改clone的[SELECT]对象的NAME值,只能修改ID.-_- 花了近一天得到的结果...
//一些笔记
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script language="JavaScript">
<!--
function cc(obja,objb){
arrayObj = new Array();
arrayCellObj = new Array(); //for filter same rows
for(i=1; i < obja.rows.length ; i++) {
cloneRow = obja.rows(i).cloneNode(true);
arrayObj.push(cloneRow);
arrayCellObj.push(obja.rows(i).cells(0).innerHTML);
}
for (i = 0; i < arrayObj.length; i++){
if(!isHadObj(objb,arrayCellObj[i])){
objb.appendChild(arrayObj[i]);
}
}
}
function isHadObj(objtbl,obj){
for(j=0;j < objtbl.rows.length ; j++) {
CellHtml = objtbl.rows(j).cells(0).innerHTML;
if(CellHtml==obj){
return true;
}
}
return false;
}
//-->
</script>
</head>
<body>
<table id="tbla" border="1">
<tr>
<td>11</td>
<td>12</td>
</tr>
<tr>
<td>21</td>
<td>22</td>
</tr>
</table>
<br/>
<table border="1">
<tbody id="tblb" >
<tr>
<td>a1</td>
<td>a2</td>
</tr>
</tbody>
</table>
<input type="button" value="copy" onclick="cc(tbla,tblb);"/>
</body>
</html>
分享到:
相关推荐
克隆对象的目的是创建一个与原对象具有相同属性和值的新对象,但两者之间没有引用关系,即修改克隆对象不会影响原始对象。在JavaScript中,有多种方法可以实现对象的克隆,这里我们将重点讲解使用自定义函数实现的...
在深入探讨JavaScript中的对象复制(Object Clone)时,首先需要明确JavaScript中的对象复制分为浅复制(Shallow Copy)和深复制(Deep Copy)。浅复制指的是创建一个新对象,这个对象有着原始对象属性值的一份精确...
这个方法接受一个布尔参数,若为`true`则执行深克隆,`false`则执行浅克隆。例如: ```javascript let originalElement = document.getElementById('myElement'); let clonedElement = originalElement.cloneNode...
- `Util.object.clone`:深拷贝对象,避免原始对象被修改。 - `Util.object.extend`:合并两个或多个对象,将源对象的属性复制到目标对象。 9. **字符串类**: - `Util.string.capitalize`:首字母大写。 - `...
可以使用`new Date()`来创建一个表示当前日期和时间的对象,或者传入特定的日期和时间参数。 2. **属性访问** `Date`对象有许多内置属性,如`getFullYear()`返回四位数年份,`getMonth()`返回月份(0-11),`...
这样,修改原始对象不会影响到深拷贝后的对象。在数组和对象的深拷贝中,有多种方法可以实现这一目的。 一、数组的深拷贝 1. `Array.from()` `Array.from()`方法可以从类数组对象或可迭代对象创建一个新的数组...
在本文中,我们将深入探讨JS中的克隆、属性、数组、对象和函数。 首先,我们来看如何克隆一个对象。在提供的代码中,使用了一种称为“浅克隆”的方法,即通过创建一个新的构造函数并让其原型指向原对象来实现。这是...
在JavaScript中,克隆对象和数组是常见的需求,特别是在处理数据的复制、备份或避免原始数据被意外修改时。以下是一些常用的克隆方法: 1. **Ext的克隆方法**: - `Ext.clone(json)`:这个方法是ExtJS框架提供的,...
- **JS深度拷贝Object/Array实例分析**:除了DOM节点外,JavaScript中还有许多其他类型的对象(如Object和Array),它们也可以进行深拷贝或浅拷贝。这些操作在处理复杂的数据结构时非常重要。 - **JavaScript数组深...
"react-clone" 是一个基于JavaScript的开源项目,主要用于实现React组件的深度克隆功能。在React开发中,由于JSX语法的特性,组件的状态和属性通常被引用而不是复制,这可能导致意外的数据共享和更新问题。react-...
在Web框架中,`params`也可能指路由参数,比如在Express.js中,路由可以包含动态部分,如`/users/:userId`,这里的`:userId`就是一个参数,匹配URL中的特定值。 9. **数据库查询参数(Database Query Parameters)...
在JavaScript中,标准的`String`对象并未提供直接获取包含中文字符在内的多字节字符长度的方法。本段代码通过扩展`String.prototype`实现了这一功能。 **实现原理:** - 使用正则表达式`/[^\x00-\xff]/ig`来匹配...
这个`objectClone`函数接收两个参数,`obj`是要拷贝的对象,`preventName`是一个可选的参数,用于指定需要忽略的属性名。函数首先检查`obj`的类型,如果是对象,就创建一个新的空对象或数组(取决于`obj`是否有`sort...
6. `clone`方法:创建样条的副本,便于进行不改变原始样条的修改。 7. 可能还会有其他辅助函数,如计算贝塞尔曲线的辅助函数,或者用于调试和可视化的工具。 使用这个库,开发者可以在网页上动态生成平滑曲线,...
JavaScript是Web开发的基础,它提供了丰富的DOM(文档对象模型)操作接口,允许开发者对网页内容进行动态修改。在JavaScript中,我们可以使用`document.createElement()`方法创建新的元素,`appendChild()`或`...
在JavaScript中,数组克隆是将一个数组复制成一个新的独立的数组,修改克隆后的数组不会影响原始数组。这是在处理复杂数据结构时非常重要的一个概念,特别是在涉及到深层拷贝和浅层拷贝的问题上。本文将深入探讨...
`clone()`函数接受一个对象作为参数,创建一个新的函数`_f`,并让`_f.prototype`等于传入的对象。然后返回`new _f`,这样新创建的对象就具有了原始对象的属性和方法。例如,`Animal`对象有一个`somthing`属性和一个`...
- **函数参数**:当函数需要修改参数对象时,应先做深拷贝,防止影响外部环境。 了解并熟练运用深拷贝和浅拷贝,可以帮助开发者更好地管理数据和避免意外的副作用,提高代码质量。在实际项目中,应根据具体需求选择...
面向对象编程(OOP)是Java的核心特性,它使得代码模块化、易于维护和修改,同时增强了代码的可靠性和灵活性。OOP的四个主要概念包括封装、继承、多态和抽象。 封装是对象隐藏其内部特性和行为的能力,通过公共接口...