DMO節點內部插入的常用方法與區別

来源:http://www.cnblogs.com/zhoulifeng/archive/2017/09/08/7494017.html
-Advertisement-
Play Games

1.DOM內部插入append()與appendTo() 動態創建的元素是不夠的,它只是臨時存放在記憶體中,最終我們需要放到頁面文檔並呈現出來。那麼問題來了,怎麼放到文檔上? 這裡就涉及到一個位置關係,常見的就是把這個新創建的元素,當作頁面某一個元素的子元素放到其內部。針對這樣的處理,jQuery就定 ...


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()把所有匹配的元素前置到另一個指定的元素集合中

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在JS中,函數的調用大多數都是由用戶主動調用觸發,但是在有的事件中,比如mousemove、window.onresize、touchmove中,函數的調用次數會非常頻繁,從而消耗瀏覽器大量的記憶體空間,造成瀏覽器卡頓甚至假死的問題。所以函數節流的目的就是減少函數在這些事件中的調用次數,從不可控制到可 ...
  • 源代碼下方 由於本人喜愛html5,無聊所畫: 畫圖需要掌握; 1.畫布,畫筆,畫圓,給畫筆添加顏色。(註:掌握這幾點,你就可以稱霸畫圖界了。) 雖然沒有畫畫天賦,但代碼寫的也是溜溜滴!(註:此圖沒有上色完,想裝逼,自己補完!) 別忘了點個關註! <!DOCTYPE html><!-- saved ...
  • 用 js 畫工作日曆的時候,需要用 js 計算指定月份一共有多少天 在網上找了些方法,都比較繁瑣,後來靈機一動,想到一個偷懶的辦法,分享一下 一、原理分析 要想得到某月有多少天,只需要獲取到當月最後一天的日期就行了 圍繞這一思路,靈活調用 setMonth(),getMonth(),setDate( ...
  • 學習JavaScript肯定是會遇到DOM操作,那麼什麼是DOM?它又是幹嘛用的?這篇文章為你揭曉答案。 DOM是document object model的縮寫,簡稱文檔對象模型。 簡單的說DOM是一套對文檔的內容進行抽象和概念化的方法。我們可以把HTML文檔模型化,當作對象來處理。 基本概念: ...
  • 現象:angular Cannot find module 'angular-in-memory-web-api'報錯找不動“angular-in-memory-web-api”模塊 解決:1、控制台運行 npm install angular-in-memory-web-api --save2、重 ...
  • 用途 遍歷一個jQuery對象,為每個匹配的元素執行一個函數。 語法 .each(function) 參數 function:類型為Function(Integer index,Element element),每個匹配的元素要執行的函數 可以通過讓回調函數返回false來終止迭代。 返回值 返回調 ...
  • 用途 jQuery.trim()函數用於刪除指定字元串開頭和結尾的空格。 $.trim()函數將刪除指定字元串開頭和結尾的所有的換行符、空格,以及製表符。 語法 jQuery.trim(str) 參數 str:要去除前後空格的字元串 返回值 jQuery.trim()方法返回去除了前後空格的字元串 ...
  • substring 方法用於提取字元串中介於兩個指定下標之間的字元 substring(start,end) 開始和結束的位置,從零開始的索引 返回值是一個新的字元串,該字元串值包含 stringObject 的一個子字元串 substring 方法返回的子串包括 start 處的字元,但不包括 e ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...