jQuery-DOM操作-插入节点

DOM操作
DOM操作是JQ核心内容之一,在前端开发时,我们往往需要在页面某个地方添加一个元素或删除元素,这种添加元素、删除元素的操作就是通过 DOM来实现的。


  • 1. 创建节点:
  • 2.插入节点:
    • (一)append(content|fn)
      • 示例
    • (二)appendTo(content)
      • 示例
    • (三)prepend(content)
      • 示例
    • (四)prependTo(content)
      • 示例
    • (五)before(content|fn)
      • 示例
    • (六)after(content|fn)
      • 示例
    • (七)insertBefore(content)
      • 示例
    • (八)insertAfter(content)
      • 示例


1. 创建节点:

$(html) 如:$(“

  • ”)


    2.插入节点:

    (一)append(content|fn)

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

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

    参数
    content: String, Element, jQuery
    要追加到目标中的内容

    function(index, html): Function
    返回一个HTML字符串,用于追加到每一个匹配元素的里边。接受两个参数,index参数为对象在这个集合中的索引值,html参数为这个对象原先的html值。

    示例

    描述: 向所有段落中追加一些HTML标记。

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>插入节点title>
    head>
    <style>
    
    style>
    <body>
        <p>I would like to say: p>
        <script>
            $("p").append("Hello");
        script>
    body>
    html>

    结果

    I would like to say: Hello

    (二)appendTo(content)

    概述

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

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

    在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,返回值是所有被追加的内容,而不仅仅是先前所选中的元素。所以,要选择先前选中的元素,需要使用end()方法,参见例二

    参数
    content: String
    用于被追加的内容

    .appendTo()和,appendTo不同之处:
    a.内容和选择器的位置,
    b.append()能够使用函数来附加内容。

    示例

    描述: 把所有段落追加到ID值为foo的元素中。

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>appendTotitle>
    head>
    <body>
        <p>I would like to say: p>
        <div>div><div>div>
    body>
    <script>
        $("p").appendTo("div");
    script>
    html>

    结果:

    I would like to say:
    
    I would like to say:

    代码显示:

    <div><p>I would like to say: p>div>
    <div><p>I would like to say: p>div>

    描述: 新建段落追加div中并加上一个class

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>appendTotitle>
    head>
    <body>
    
        <div>div><div>div>
    body>
    <script>
        $("

    ") .appendTo("div") .addClass("test") .end()//返回值是所有被追加的内容,而不仅仅是先前所选中的元素。所以,要选择先前选中的元素,需要使用end()方法 .addClass("test2"); script> html>

    结果

    <div><p class="test test2">p>div>
    <div><p class="test">p>div>

    不加end()时

    <div><p class="test test2">p>div>
    <div><p class="test test2">p>div>

    (三)prepend(content)

    概述
    向每个匹配的元素内部前置内容。

    这是向所有匹配元素内部的开始处插入内容的最佳方式。

    参数
    content: String, Element, jQuery
    要插入到目标元素内部前端的内容

    function(index, html) : Function
    返回一个HTML字符串,用于追加到每一个匹配元素的里边。接受两个参数,index参数为对象在这个集合中的索引值,html参数为这个对象原先的html值。

    示例

    描述:向所有段落中前置一些HTML标记代码。

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>appendTotitle>
    head>
    <body>
    
        <p>I would like to say: p>
    body>
    <script>
       $("p").prepend("Hello");
    script>
    html>

    结果:

    HelloI would like to say:

    代码

     <p><b>Hellob>I would like to say: p>

    描述: 将一个DOM元素前置入所有段落

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>prependtitle>
    head>
    <body>
        <p>I would like to say: p>
    <p>I would like to say: p>
    <b class="foo">Hellob>
    <b class="foo">Good Byeb>
    body>
    <script>
    $("p").prepend( $(".foo")[0] );script>
    html>

    结果:

    HelloI would like to say:
    
    HelloI would like to say:
    
    Good Bye

    代码

    <p><b class="foo">Hellob>I would like to say: p>
    <p><b class="foo">Hellob>I would like to say: p>
    <b class="foo">Good Byeb>

    (四)prependTo(content)

    概述
    把所有匹配的元素前置到另一个、指定的元素元素集合中。

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

    在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,要选择先前选中的元素,需要使用end()方法,参见 appendTo 方法的例二。

    参数
    content: String
    用于匹配元素的jQuery表达式

    示例

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>prependTotitle>
    head>
    <body>
       <p>I would like to say: p><div id="foo">div>
    body>
    <script>
    $("p").prependTo("#foo");
    script>
    html>

    结果

    <div id="foo">

    I would like to say:

    div>

    (五)before(content|fn)

    概述

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

    参数
    content: String, Element, jQuery
    插入到每个目标后的内容

    function Function
    函数必须返回一个html字符串。

    示例

    描述:在所有段落之前插入一些HTML标记代码。

    代码:

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>beforetitle>
    head>
    <body>
     <p>I would like to say: p>
    body>
    <script>
    $("p").before("Hello");
    script>
    html>

    结果:

    <b>Hellob><p>I would like to say: p> 

    描述:在所有段落之前插入一个元素。

    代码:

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>beforetitle>
    head>
    <body>
     <p>I would like to say: p><b id="foo">Hellob>
    body>
    <script>
    $("p").before( $("#foo")[0] );
    script>
    html>

    结果:

    <b id="foo">Hellob><p>I would like to say: p>

    (六)after(content|fn)

    概述
    在每个匹配的元素之后插入内容。

    参数
    content: String, Element, jQuery
    插入到每个目标后的内容

    function Function
    函数必须返回一个html字符串。

    示例

    描述:在所有段落之后插入一些HTML标记代码。

    代码:

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>beforetitle>
    head>
    <body>
     <p>I would like to say: p>
    body>
    <script>
    $("p").after("Hello");
    script>
    html>

    结果:

    <p>I would like to say: p> <b>Hellob>

    描述:在所有段落之后插入一个元素。

    代码:

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>beforetitle>
    head>
    <body>
     <b id="foo">Hellob>
     <p>I would like to say: p>
    body>
    <script>
    $("p").after( $("#foo")[0] );
    script>
    html>

    结果:

    <p>I would like to say: p>
    <b id="foo">Hellob>

    (七)insertBefore(content)

    概述
    把所有匹配的元素插入到另一个、指定的元素元素集合的前面。

    实际上,使用这个方法是颠倒了常规的$(A).before(B)的操作,即不是把B插入到A前面,而是把A插入到B前面。

    在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,要选择先前选中的元素,需要使用end()方法,参见 appendTo 方法的例二。

    参数
    content: String
    用于匹配元素的jQuery表达式

    示例

    描述: 把所有段落插入到一个元素之前。与 $(“#foo”).before(“p”)相同。

    代码:

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>insertBeforetitle>
    head>
    <body>
    <div id="foo">Hellodiv><p>I would like to say: p>
    
    body>
    <script>
    
    $("p").insertBefore("#foo");
    script>
    html>

    结果:

    I would like to say:

    <div id="foo">Hellodiv>

    (八)insertAfter(content)

    概述
    把所有匹配的元素插入到另一个、指定的元素元素集合的后面。

    实际上,使用这个方法是颠倒了常规的$(A).after(B)的操作,即不是把B插入到A后面,而是把A插入到B后面。

    在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,要选择先前选中的元素,需要使用end()方法,参见 appendTo 方法的例二。

    参数
    content: String
    用于匹配元素的jQuery表达式

    示例

    描述: 把所有段落插入到一个元素之后。与 $(“#foo”).after(“p”)相同

    代码:

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
        <title>insertBeforetitle>
    head>
    <body>
    <p>I would like to say: p><div id="foo">Hellodiv>
    
    body>
    <script>
    
    $("p").insertAfter("#foo");
    script>
    html>

    结果:

    <div id="foo">Hellodiv>

    I would like to say:

    你可能感兴趣的:(jQuery,Jquery创建节点,插入节点,append(),.after(),prepend)