复制节点
clone(): 克隆匹配的 DOM 元素, 返回值为克隆后的副本. 但此时复制的新节点不具有任何行为. clone(true): 复制元素的同时也复制元素中的的事件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<script type="text/javascript" src="scripts/jquery-1.7.2.js"></script>
<script type="text/javascript">
//测试使用 jQuery clone 方法: 复制节点
$(function(){
$("li").click(function(){
alert($(this).text());
});
//复制 #bj 节点, 并添加到 #rl 节点的后面
/*
1. clone 节点时需要注意克隆后的节点的 id 属性. 若原节点有 id
属性, 则克隆后, 会出现在一个文档中有两个 id 相同的节点的情况.
2. clone(true): 在克隆节点的同时, 克隆节点包含的事件.
*/
$("#bj").clone(true)
.attr("id", "bj2")
.insertAfter($("#rl"));
})
</script>
</head>
<body>
<p>你喜欢哪个城市?</p>
<ul id="city">
<li id="bj" name="BeiJing">北京</li>
<li>上海</li>
<li id="dj">东京</li>
<li id="se">首尔</li>
</ul>
<br><br>
<p>你喜欢哪款单机游戏?</p>
<ul id="game">
<li id="rl">红警</li>
<li>实况</li>
<li>极品飞车</li>
<li>魔兽</li>
</ul>
<br><br>
gender:
<input type="radio" name="gender" value="male"/>Male
<input type="radio" name="gender" value="female"/>Female
<br><br>
name: <input type="text" name="username" value="atguigu"/>
</body>
</html>
替换节点
注意:用$ temp = XX.replaceAll()或者 XX.replaceWith()方法
temp接收的值都是XX
显示的硅谷
显示的上海
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<script type="text/javascript" src="scripts/jquery-1.7.2.js"></script>
<script type="text/javascript">
//测试使用 jQuery replaceWith (replaceAll) 方法: 替换节点
/*
1. replaceWith , replaceAll 一对方法, 可以完成一件事. 就是主语宾语
哪个在前面的问题.
2. 以上的两个方法还有移动节点的功能
3. 节点互换需要先克隆节点.
4. var $rl = $("#rl").replaceWith($bj2);
*/
$(function(){
//1. 创建一个 <li>尚硅谷</li> 节点, 替换 #city 的最后一个 li 子节点
var $temp1 = $("<li>硅谷</li>").replaceAll("#city :last");
//2. 创建一个 <li>[尚硅谷]</li> 节点,
//替换 #city 的第二个 li 子节点
// $("<li>[硅谷]</li>").replaceAll("#city li:eq(1)");
var $temp2 = $("#city li:eq(1)").replaceWith("<li>123</li>");
//3. 互换以下两个节点: #rl 和 #bj. 还有移动的功能.
//$("#bj").replaceWith($("#rl"));
//3. 互换以下两个节点: #rl 和 #bj. 还有移动的功能.
//$("#bj").replaceWith($("#rl"));
//节点互换需要先克隆节点.
var $bj2 = $("#bj").clone(true);
var $temp = $("#rl").replaceWith($bj2);
alert($temp.text()); //红警
$temp.replaceAll("#bj");
//节点互换需要先克隆节点.
})
</script>
</head>
<body>
<p>你喜欢哪个城市?</p>
<ul id="city">
<li id="bj" name="BeiJing">北京</li>
<li>上海</li>
<li id="dj">东京</li>
<li id="se">首尔</li>
</ul>
<br><br>
<p>你喜欢哪款单机游戏?</p>
<ul id="game">
<li id="rl">红警</li>
<li>实况</li>
<li>极品飞车</li>
<li>魔兽</li>
</ul>
<br><br>
gender:
<input type="radio" name="gender" value="male"/>Male
<input type="radio" name="gender" value="female"/>Female
<br><br>
name: <input type="text" name="username" value="atguigu"/>
</body>
</html>