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 相关文章推荐
javascript parseInt 函数分析(转)
Mar 21 Javascript
javascript生成随机大小写字母的方法
Feb 20 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
Jun 24 Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
Jan 13 Javascript
javascript闭包的理解
Apr 01 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
Jan 04 Javascript
javascript url几种编码方式详解
Jun 06 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
Aug 14 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
为什么要使用Vuex的介绍
Jan 19 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
如何在PHP程序中防止盗链
2008/04/09 PHP
php字符串截取函数用法分析
2014/11/25 PHP
php实现读取内存顺序号
2015/03/29 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
php intval函数用法总结
2019/04/14 PHP
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
js原型链原理看图说明
2012/07/07 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
python网页请求urllib2模块简单封装代码
2014/02/07 Python
Python封装原理与实现方法详解
2018/08/28 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
企事业单位求职者的自我评价
2013/12/28 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
青年志愿者活动总结
2014/04/26 职场文书
农村门前三包责任书
2014/07/25 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
个人事迹材料范文
2014/12/29 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
整改通知书格式
2015/04/22 职场文书