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 相关文章推荐
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
javascript读取Xml文件做一个二级联动菜单示例
Mar 17 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
谈一谈JS消息机制和事件机制的理解
Apr 14 Javascript
详解webpack es6 to es5支持配置
May 04 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
基于vue和react的spa进行按需加载的实现方法
Sep 29 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
three.js 实现露珠滴落动画效果的示例代码
Mar 01 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
php 静态变量的初始化
2009/11/15 PHP
Yii框架form表单用法实例
2014/12/04 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
javascript事件处理模型实例说明
2016/05/31 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
JS实现的RC4加密算法示例
2018/08/16 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
Python实现不规则图形填充的思路
2020/02/02 Python
使用python-Jenkins批量创建及修改jobs操作
2020/05/12 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
python中Mako库实例用法
2020/12/31 Python
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
小学师德师风演讲稿
2014/09/02 职场文书
幼师个人总结范文
2015/02/28 职场文书
幼儿园大班教学反思
2016/03/02 职场文书