JQuery创建DOM节点的方法


Posted in Javascript onJune 11, 2015

本文实例讲述了JQuery创建DOM节点的方法。分享给大家供大家参考。具体分析如下:

用JQuery选择器能够快捷而轻松地查找到文档中的某个特定的元素节点,然后可以用attr()方法来获取元素的各种属性的值。但真正的DOM操作并非这么简单。在DOM操作中,常常需要动态创建HTML内容,使文档在浏览器里的呈现效果发生变化,并且达到各种各样的人机交互的目的。

HTML DOM结构如下:

<p class="nm_p" title="欢迎访问三水点靠木" >欢迎访问三水点靠木</p>
<ul class="nm_ul">
    <li title='PHP编程'>简单易懂的PHP编程</li>
    <li title='JavaScript编程'>简单易懂的JavaScript编程</li>
    <li title='JQuery编程'>简单易懂的JQuery编程</li>
</ul>

创建元素节点

例如要创建两个<li>元素节点,并且要把它们作为<ul>元素节点的子节点添加到DOM节点树上。完成这个任务需要两个步骤。

1. 创建两个<li>新元素。
2. 将这两个新元素插入文档中。

第1个步骤可以使用jQuery的工厂函数$()来完成,格式如下:

$(html);

$(html)方法会根据传入的HTML标记字符串,创建一个DOM对象,并将这个DOM对象包装成一个jQuery对象后返回。

首先创建两个<li>元素,jQuery代码如下:

var $li_1 = $("<li></li>"); // 创建第一个<li>元素
var $li_2 = $("<li></li>"); // 创建第二个<li>元素

然后将这两个新元素插入文档中,可以使用jQuery中的append()等方法。JQuery代码如下:

var $parent = $(".nm_ul"); // 获取<ul>节点。<li>的父节点
$parent.append($li_1); // 添加到<ul>节点中,使之能在网页中显示
$parent.append($li_2); // 可以采取链式写法:$parent.append($li_1).append($li_2);

动态创建的新元素节点不会被自动添加到文档中,而是需要使用其他方法将其插入文档中。当创建单个元素时,要注意闭合标签和使用标准的XHTML格式。例如创建一个<p>元素,可以用$("<p/>")或者$("<p></p>"),但不要使用$("<p>")或者大写的$("<P/>")。

创建文本节点

已经创建了两个<li>元素节点并把它们插入文档中了。此时需要为创建的元素节点添加文本内容。

JQuery代码如下:

var $li_1 = $("<li>新增节点:数据结构</li>"); // 创建第一个<li>元素
var $li_2 = $("<li>新增节点:设计模式</li>"); // 创建第二个<li>元素
var $parent = $(".nm_ul"); // 获取<ul>节点。<li>的父节点
$parent.append($li_1); // 添加到<ul>节点中,使之能在网页中显示
$parent.append($li_2); // 可以采取链式写法:$parent.append($li_1).append($li_2);

如以上代码所示,创建文本节点就是在创建元素节点时直接把文本内容写出来,然后使用append()等方法将它们添加到文档中就可以了。

无论$(html)中的HTML代码多么复杂,都要使用相同的方式来创建。例如$("<li><em>这是</em><b>一个</b><a href="#">复杂的组合</a></li>");

创建属性节点

创建属性节点与创建文本节点类似,也是直接在创建元素节点时一起创建。JQuery代码如下:

var $li_1 = $("<li title='新增节点:数据结构'>新增节点:数据结构</li>"); // 创建第一个<li>元素
var $li_2 = $("<li title='新增节点:设计模式'>新增节点:设计模式</li>"); // 创建第二个<li>元素
var $parent = $(".nm_ul"); // 获取<ul>节点。<li>的父节点
$parent.append($li_1); // 添加到<ul>节点中,使之能在网页中显示
$parent.append($li_2); // 可以采取链式写法:$parent.append($li_1).append($li_2);

通过浏览器查看源代码工具查看代码,可以看到最后两个<li>元素多了名为“title”的属性节点。由此可以判断,创建的元素的文本节点和属性节点都已经添加到网页中了。由此可见用jQuery来动态创建HTML元素是非常简单、方便和灵活的。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
JS中剪贴板兼容性、判断复制成功或失败
Mar 09 Javascript
jquery 3D球状导航的文章分类
Jul 06 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
下载文件个别浏览器文件名乱码解决办法
Mar 19 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
jQuery前端开发35个小技巧
May 24 Javascript
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
基于require.js的使用(实例讲解)
Sep 07 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
Sep 21 Javascript
vue渲染方式render和template的区别
Jun 05 Javascript
JQuery查找DOM节点的方法
Jun 11 #Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 #Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 #Javascript
jquery序列化方法实例分析
Jun 10 #Javascript
jQuery实现dialog设置focus焦点的方法
Jun 10 #Javascript
jQuery替换textarea中换行的方法
Jun 10 #Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 #Javascript
You might like
PHP学习资料汇总与网址
2007/03/16 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
学习面向对象之面向对象的术语
2010/11/30 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
用python 制作图片转pdf工具
2015/01/30 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
如何查找网页漏洞
2016/06/22 面试题
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang