JQuery插入DOM节点的方法


Posted in Javascript onJune 11, 2015

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

动态创建HTML元素并没有实际用处,还需要将新创建的元素插入文档中。将新创建的节点插入文档最简单的办法是,让它成为这个文档的某个节点的子节点。前面使用了一个插入节点的方法append(),它会在元素内部追加新创建的内容。

将新创建的节点插入某个文档的方法并非只有一种,在JQuery中还提供了其他儿种插入节点的方法,如下表所示。读者可以根据实际需求灵活地做出多种选择。

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>

append()

向每个匹配的元素内部追加内容:

HTML代码:

<p>我想说:</p>

jQuery代码:
$("p").append("<b>你好</b>");

结果:
<p>我想说:<b>你好</b></p>

appendTo()

将所有匹配的元素追加到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是将B追加到A中,而是将A追加到B中:

HTML代码:

<p>我想说:</p>

jQuer代码:
$("<b>你好</b>").appendTo("p");

结果:
<p>我想说:<b>你好</b></p>

prepend()

向每个匹配的元素内部前置内容:

HTML代码:

<p>我想说:</p>

jQuer代码:
$("p").prepend<"<b>你好</b>");

结果:
<p><b>你好</b>我想说:</p>

prependTo()

将所有匹配的元素前置到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).prepend(B)的操作,即不是将B前置到A中,而是将A前置到B中:

HTML代码:

<p>我想说:</p>

jQuer代码:
$("<b>你好</b>").prependTo("p");

结果:
<p><b>你好</b>我想说:</p>

after()

在每个匹配的元索之后插入内容:

HTML代码:

<p>我想说:</p>

jQuer代码:
$("p").after("<b>你好</b>");

结果:
<p>我想说:</p><b>你好</b>

insertAfler()

将所有匹配的元素插入到指定元素的后面。实际上,使用该方法是颠倒了常规的$(A).after(B)的操作,即不是将B插入到A后面,而是将A插入到B后面:

HTML代码:

<p>我想说:</p>

jQuer代码:
$("<b>你好</b>").insertAfter("p");

结果:
<p>我想说:</p><b>你好</b>

before()

在每个匹配的元素之前插入内容:

HTML代码:

<p>我想说:</p>

jQuer代码:
$("p").before("<b>你好</b>");

结果:
<b>你好</b><p>我想说:</p>

insertBefore()

将所有匹配的元素捅入到指定的元素的前面。实际上,使用该方法是颠倒了常规的$(A).before(B)的操作,即不是将B插入到A前面,而是将A插入到B前面:

HTML代码:

<p>我想说:</p>

jQuer代码:
$("<b>你好</b>").insertBefore("p");

结果:
<b>你好</b><p>我想说:</p>

这些插入节点的方法不仅能将新创建的DOM元素插入到文档中,也能对原有的DOM元素进行移动。例如利用它们创建新元素并对其进行插入操作:

$(function(){
  var $li_1 = $("<li title='新增节点:数据结构'>新增节点:数据结构</li>"); // 创建第一个<li>元素
  var $li_2 = $("<li title='新增节点:设计模式'>新增节点:设计模式</li>"); // 创建第二个<li>元素
  var $li_3 = $("<li title='新增节点:计算机算法'>新增节点:计算机算法</li>"); // 创建第三个<li>元素
  var $parent = $(".nm_ul"); // 获取<ul>节点。<li>的父节点
  var $two_li = $(".nm_ul li:eq(1)"); // 获取<ul>节点中第二个<li>元素节点
  $("#btn_1").click(function(){
    $parent.append($li_1); // 添加到<ul>节点中,使之能在网页中显示
  });
  $("#btn_2").click(function(){
    // 可以采取链式写法:$parent.append($li_1).append($li_2);
    $parent.append($li_2);   
  });
  $("#btn_3").click(function(){
    // insertAfter方法将创建的第三个<li>元素元素插入到获取的<li>之后
    $li_3.insertAfter($two_li); 
  });
});

也利用它们对原有的DOM元素进行移动:

$(function(){
  var $one_li = $("ul li:eq(1)"); // 获取<ul>节点中第二个<li>元素节点
  var $two_li = $("ul li:eq(2)"); // 获取<ul>节点中第三个<li>元素节点
  $two_li.insertBefore($one_li); //移动节点
});

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

Javascript 相关文章推荐
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
Jan 08 Javascript
iframe的父子窗口之间的对象相互调用基本用法
Sep 03 Javascript
jquery使用append(content)方法注意事项分享
Jan 06 Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
解读Bootstrap v4 sass设计
May 29 Javascript
javascript实现延时显示提示框效果
Jun 01 Javascript
javascript 代码是如何被压缩的示例代码
May 06 Javascript
jQuery 选择方法及$(this)用法实例分析
May 19 jQuery
微信小程序 scroll-view的使用案例代码详解
Jun 11 Javascript
javascript canvas时钟模拟器
Jul 13 Javascript
OpenLayers3实现对地图的基本操作
Sep 28 Javascript
JQuery创建DOM节点的方法
Jun 11 #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
You might like
风格模板初级不完全修改教程
2006/10/09 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
js控制input输入字符解析
2013/12/27 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
js获取form的方法
2015/05/06 Javascript
javascript简单比较日期大小的方法
2016/01/05 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
python自动化测试实例解析
2014/09/28 Python
Python 的描述符 descriptor详解
2016/02/27 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
在Python中定义一个常量的方法
2018/11/10 Python
python中entry用法讲解
2020/12/04 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
建筑公司员工自我鉴定
2014/04/08 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
学生保证书
2015/01/16 职场文书
党支部季度考核意见
2015/06/02 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
导游词之河北野三坡
2019/12/11 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
MySQL为id选择合适的数据类型
2021/06/07 MySQL