JQuery学习笔记(五)——复制、替换和包裹节点

2024-06-10 02:38

本文主要是介绍JQuery学习笔记(五)——复制、替换和包裹节点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

复制节点

  1. clone():克隆匹配的DOM元素,返回值为克隆后的副本。但此时复制的新节点不具有任何行为。
  2. clone(true):复制元素的同时也复制元素中的事件。(元素的ID属性也会被复制)
    e.g :复制li元素,并修改副本ID,以及保存事件行为。
<!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">北京</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>
</body>
</html>

替换节点

  1. replaceWith():将所有匹配的元素都替换为指定的HTML或者DOM元素
    a.replaceWith(b),使用b,替换a
  2. replaceAll():反向的replaceWith()
    a.replaceAll(b),使用a,替换所有的b
    若在替换之前,已经在元素上绑定了事件,替换后原先绑定的事件会与原先的元素一起消失,两个方法具有移动功能
    e.g:节点互换
var $clone= $("#item1").clone(true);
var $item2= $("#item2").replaceWith($clone);   //此处方法返回对象依旧是item2
$("#item1").replaceWith($item2);

包裹节点

  1. wrap():将指定节点用其他标记包裹起来。该方法对于需要在文档中插入额外的结构化标记非常有用。而且不会破坏原始文档的语义。
  2. wrapAll():将所有匹配的元素用一个元素来包裹。
  3. wrapInner():将每一个匹配的元素的子内容用其他结构化标记包裹起来。
    e.g:将li元素使用<font color='red'></font> 包裹起来

warp():

$("li").wrap("<font color='red'></font>");<ul><font color="red"><li id="rl">红警</li></font><font color="red"><li>实况</li></font><font color="red"><li>极品飞车</li></font><font color="red"><li>魔兽</li></font>
</ul>

wrapAll()

$("li").wrapAll("<font color='red'></font>");<ul><font color="red"><li id="bj" name="BeiJing">北京</li><li>上海</li><li id="dj">东京</li><li id="se">首尔</li></font>     
</ul>

wrapInner()

$("li").wrapInner("<font color='red'></font>");<ul><li><font color="red">C</font></li><li><font color="red">Java</font></li><li><font color="red">.NET</font></li><li><font color="red">PHP</font></li>
</ul>

tr插入和删除

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>tr的创建和删除</title>
<script type="text/javascript" src="scripts/jquery-1.7.2.js"></script>
<script type="text/javascript">/***  1. find(): 查找子节点, 返回值为子节点对应的 jQuery 对象*  2. $.trim():   去除前后空格*  3. obj.append(): 元素内部添加标签(返回对象为obj)*  4. obj.appendTo("selector"): obj添加到selector中(返回对象为obj)*/$(function() {// 删除一行function removeTr(obj) {var $tr = $(obj).parent().parent();var name = $tr.find("td:first").text();var flag = confirm("确定删除" + $.trim(name) + "吗?");if (flag) {$tr.remove();}return false;}// 添加一行$("#_submit").click(function() {var $name_val = $("#addTr #name").val();var $email_val = $("#addTr #email").val();var $salary_val = $("#addTr #salary").val();// 创建一行var $table = $("#removeTr");$("<tr></tr>").append("<td>" + $.trim($name_val) + "</td>").append("<td>" + $.trim($email_val) + "</td>").append("<td>" + $.trim($salary_val) + "</td>").append("<td>" + "<a href='#'>删除</a>" + "</td>").appendTo($("#removeTr")).find("a").click(function(){removeTr(this);});});// a标签触发事件$("#removeTr a").click(function() {return removeTr(this);});});
</script>
</head>
<body><table id="addTr" align="center"><tr><td>name:</td><td><input type="text" id="name" name="name"></td><td>email:</td><td><input type="text" id="email" name="email"></td><td>salary:</td><td><input type="text" id="salary" name="salary"></td></tr><tr><td colspan="6" align="center"><input type="button" id="_submit"name="_submit" value="添加"></td></tr></table><br><br><table id="removeTr" align="center" border="1"><tr><td>Tom</td><td>tom@qq.com</td><td>1000</td><td><a href="#">删除</a></td></tr><tr><td>Bob</td><td>bob@qq.com</td><td>2000</td><td><a href="#">删除</a></td></tr><tr><td>Angle</td><td>angle@qq.com</td><td>3000</td><td><a href="#">删除</a></td></tr></table>
</body>
</html>

效果图

这篇关于JQuery学习笔记(五)——复制、替换和包裹节点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047000

相关文章

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Conda虚拟环境的复制和迁移的四种方法实现

《Conda虚拟环境的复制和迁移的四种方法实现》本文主要介绍了Conda虚拟环境的复制和迁移的四种方法实现,包括requirements.txt,environment.yml,conda-pack,... 目录在本机复制Conda虚拟环境相同操作系统之间复制环境方法一:requirements.txt方法