DMO节点内部插入的常用方法与区别

1.DOM内部插入append()与appendTo()

动态创建的元素是不够的,它只是临时存放在内存中,最终我们需要放到页面文档并呈现出来。那么问题来了,怎么放到文档上?

这里就涉及到一个位置关系,常见的就是把这个新创建的元素,当作页面某一个元素的子元素放到其内部。针对这样的处理,jQuery就定义2个操作的方法。

选择器 描述
append()
向每个匹配的元素内部追加内容或追加子节点

appendTo()
把所有匹配的元素追加到另一个指定的元素集合中

append:这个操作与对指定的元素执行原生的appendChild方法,将它们添加到文档中的情况类似。

appendTo:实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <style>
    .content {
        width: 300px;
    }
    .append{
        background-color: blue;
    }
    .appendTo{
        background-color: red;
    }
    </style>
</head>

<body>
    <h2>通过append与appendTo添加元素</h2>
    <button id="bt1">点击通过jQuery的append添加元素</button>
    <button id="bt2">点击通过jQuery的appendTo添加元素</button>

    <div class="content"></div>

    <script type="text/javascript">

        $("#bt1").on(‘click‘, function() {
            //.append(), 内容在方法的后面,
            //参数是将要插入的内容。
            $(".content").append(‘<div class="append">通过append方法添加的元素</div>‘)
        })

    </script>

    <script type="text/javascript">

        $("#bt2").on(‘click‘, function() {
            //.appendTo()刚好相反,内容在方法前面,
            //无论是一个选择器表达式 或创建作为标记上的标记
            //它都将被插入到目标容器的末尾。
            $(‘<div class="appendTo">通过appendTo方法添加的元素</div>‘).appendTo($(".content"))
        })

    </script>

</body>

</html>

简单的总结:

  .append()和.appendTo()两种方法功能相同,主要的不同是语法——内容和目标的位置不同

append()前面是被插入的对象,后面是要在对象内插入的元素内容
appendTo()前面是要插入的元素内容,而后面是被插入的对象

2.DOM内部插入prepend()与prependTo()

在元素内部进行操作的方法,除了在被选元素的结尾(仍然在内部)通过append与appendTo插入指定内容外,相应的还可以在被选元素之前插入,jQuery提供的方法是prepend与prependTo.

选择器 描述
prepend()
在被选元素的开头插入内容

prependTo()
把所有匹配的元素前置到指定的元素集合中

 提示: 就是颠倒了的prepend()

prepend与prependTo的使用及区别:

.prepend()方法将指定元素插入到匹配元素里面作为它的第一个子元素 (如果要作为最后一个子元素插入用.append()).
.prepend()和.prependTo()实现同样的功能,主要的不同是语法,插入的内容和目标的位置不同
对于.prepend() 而言,选择器表达式写在方法的前面,作为待插入内容的容器,将要被插入的内容作为方法的参数
而.prependTo() 正好相反,将要被插入的内容写在方法的前面,可以是选择器表达式或动态创建的标记,待插入内容的容器作为参数。
<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <style>
    .aaron1{
        border: 1px solid red;
    }
    .aaron1 p {
        color: red;
    }
    .aaron2{
        border: 1px solid blue;
    }
    .aaron2 p {
        color: blue;
    }
    </style>
</head>

<body>
    <h2>通过prepend与prependTo添加元素</h2>
    <button id="bt1">点击通过jQuery的prepend添加元素</button>
    <button id="bt2">点击通过jQuery的prependTo添加元素</button>
    <div class="aaron1">
        <p>测试prepend</p>
    </div>
    <div class="aaron2">
        <p>测试prependTo</p>
    </div>
    <script type="text/javascript">
    $("#bt1").on(‘click‘, function() {
        //找到class="aaron1"的div节点
        //然后通过prepend在内部的首位置添加一个新的p节点
        $(‘.aaron1‘)
            .prepend(‘<p>prepend增加的p元素</p>‘)
    })
    </script>
    <script type="text/javascript">
    $("#bt2").on(‘click‘, function() {
        //找到class="aaron2"的div节点
        //然后通过prependTo内部的首位置添加一个新的p节点
        $(‘<p>prependTo增加的p元素</p>‘)
            .prependTo($(‘.aaron2‘))
    })
    </script>
</body>

</html>

这里总结下内部操作四个方法的区别:

append()向每个匹配的元素内部追加内容

prepend()向每个匹配的元素内部前置内容

appendTo()把所有匹配的元素追加到另一个指定元素的集合中

prependTo()把所有匹配的元素前置到另一个指定的元素集合中
时间: 2024-08-01 22:29:46

DMO节点内部插入的常用方法与区别的相关文章

DOM——创建节点及节点属性与内部插入append()和appendTo()

创建节点及节点属性与内部插入append()和appendTo() 1   创建流程 创建节点(常见的元素.属性和文本) 添加节点的一些属性 加入到文档中 2   流程中涉及的方法 创建元素document,creat 设置属性setAttrilbute 添加文本innerHTML 加入文档appendChild 3   创建节点时注意:每一个元素节点都必须单独创建,节点是属性需要单独设置,而且设置的接口不是很统一,添加到指定的元素位置不灵活,浏览器兼容问题处理 4   创建元素节点常见的是直接

DOM节点的插入(jQuery)

1DOM内部插入append()与appendTo() 动态创建的元素是不够的,它只是临时存放在内存中,最终我们需要放到页面文档并呈现出来.那么问题来了,怎么放到文档上? 这里就涉及到一个位置关系,常见的就是把这个新创建的元素,当作页面某一个元素的子元素放到其内部.针对这样的处理,jQuery就定义2个操作的方法 append:这个操作与对指定的元素执行原生的appendChild方法,将它们添加到文档中的情况类似. appendTo:实际上,使用这个方法是颠倒了常规的$(A).append(B

jQuery修炼心得-DOM节点的插入

1. 内部插入append()与appendTo() append:这个操作与对指定的元素执行原生的appendChild方法,将它们添加到文档中的情况类似. appendTo:实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中. append()和appendTo()两种方法功能相同,主要的不同是语法——内容和目标的位置不同,append()前面是要选择的对象,后面是要在对象内插入的元素内容,appendTo()前面是要插入的元素内容

DOM—外部插入.after()、.before()、.insertAfter()和.insertBefore()与内部插入.prepend()和.prependTo()

外部插入.after()..before()..insertAfter()和.insertBefore()与内部插入.prepend()和.prependTo() 1   .after(content)在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 2   .before(content)据参数设定,在匹配元素的前面插入内容 3   .after()和.before()共同点 都是用来对相对选中元素外部增加相邻的兄弟节点 都可以接收HTML字符串.DOM元素.元素数组,或者J

html 富文本编辑器相关--向编辑器内部插入文字图片等各种dom元素 通用方法

有问题的插入方案 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style>#edit{height:500px;width:500px;border:1px solid red;}</style> </head> <body> <

insertBefore()指定的已有子节点之前插入新的子节点

定义: insertBefore() 方法在您指定的已有子节点之前插入新的子节点. 语法: 父级.insertBefore(新的子节点,指定的已有子节点) 实例: <input id="txt1" type="text"/> <input id="btn1" type="button" value="创建li"/> <ul id="ul1"> <

数据结构-编程实现一个双向链表节点的插入

1:这里分为两种插入情况:一种是 插入位置在中间,另一种是插入位置在末尾.两种情况有一点不同:插入位置在中间时需要把p的原后继节点的前驱指针指向新插入的节点. // ConsoleApplication24.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<malloc.h> #include <iostream> #include <assert.h> using namespace std;

DOM内部插入append()与appendTo()

DOM内部插入append()与appendTo() 动态创建的元素是不够的,它只是临时存放在内存中,最终我们需要放到页面文档并呈现出来.那么问题来了,怎么放到文档上? 这里就涉及到一个位置关系,常见的就是把这个新创建的元素,当作页面某一个元素的子元素放到其内部.针对这样的处理,jQuery就定义2个操作的方法

数据结构-编程实现一个单链表节点的插入

1:向链表中某个位置(第pos个节点)之后插入节点,这里分别插入到链表首部.插入到链表中间,以及链表尾端3个位置.代码如下: // ConsoleApplication15.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <malloc.h> #include <iostream> using namespace std; typedef struct node//定义链表结构体 { int data;/