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 相关文章推荐
jQuery地图map悬停显示省市代码分享
Aug 20 Javascript
实现非常简单的js双向数据绑定
Nov 06 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 Javascript
jQuery插件实现可输入和自动匹配的下拉框
Oct 24 Javascript
jQuery zTree树插件简单使用教程
Jan 10 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
vue 路由嵌套高亮问题的解决方法
May 17 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
原生JS实现的跳一跳小游戏完整实例
Jan 27 Javascript
Openlayers实现地图的基本操作
Sep 28 Javascript
微信小程序实现拼图小游戏
Oct 22 Javascript
关于Js中new操作符的作用详解
Feb 21 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和javascript之间变量的传递实现代码
2012/12/19 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
JS实现轮播图效果
2020/01/11 Javascript
python实现比较两段文本不同之处的方法
2015/05/30 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python实现拓扑排序的基本教程
2018/03/11 Python
Python入门必须知道的11个知识点
2018/03/21 Python
django缓存配置的几种方法详解
2018/07/16 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
小学运动会入场式解说词
2014/02/18 职场文书
跑操口号
2014/06/12 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
司机工作自我鉴定
2014/09/19 职场文书
2014年会计工作总结
2014/11/27 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
公司给客户的感谢信
2015/01/23 职场文书
技术员个人工作总结
2015/03/03 职场文书
盲山观后感
2015/06/11 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript