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 相关文章推荐
Mozilla 表达式 __noSuchMethod__
Apr 05 Javascript
javascript使用activex控件的代码
Jan 27 Javascript
基于JQuery实现的类似购物商城的购物车
Dec 06 Javascript
js中confirm实现执行操作前弹出确认框的方法
Nov 01 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
jQuery的基本概念与高级编程
May 14 Javascript
浅析JavaScript中命名空间namespace模式
Jun 22 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
Sep 26 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
React实现todolist功能
Dec 28 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得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
浅谈javascript 面向对象编程
2009/10/28 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
Python实现的ini文件操作类分享
2014/11/20 Python
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python实现复制大量文件功能
2019/08/31 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
用Python解数独的方法示例
2019/10/24 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
python破解同事的压缩包密码
2020/10/14 Python
Python eval函数原理及用法解析
2020/11/14 Python
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
幼儿园消防演练方案
2014/02/13 职场文书
工作会议方案
2014/05/21 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
水电工程师岗位职责
2015/02/13 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏