DOM包裹wrap()方法

DOM包裹wrap()方法

如果要將元素用其他元素包裹起來,也就是給它增加一個父元素,針對這樣的處理,JQuery提供了一個wrap方法

.wrap( wrappingElement ):在集合中匹配的每個元素周圍包裹一個HTML結構

簡單的看一段代碼:

<p>p元素</p>

給p元素增加一個div包裹

$('p').wrap('<div></div>')

最后的結構,p元素增加了一個父div的結構

<div><p>p元素</p>
</div>

.wrap( function )?:一個回調函數,返回用于包裹匹配元素的 HTML 內容或 jQuery 對象

使用后的效果與直接傳遞參數是一樣,只不過可以把代碼寫在函數體內部,寫法不同而已

以第一個案例為例:

$('p').wrap(function() {return '<div></div>';   //與第一種類似,只是寫法不一樣
})

注意:

.wrap()函數可以接受任何字符串或對象,可以傳遞給$()工廠函數來指定一個DOM結構。這種結構可以嵌套了好幾層深,但應該只包含一個核心的元素。每個匹配的元素都會被這種結構包裹。該方法返回原始的元素集,以便之后使用鏈式方法

?

DOM包裹unwrap()方法

我們可以通過wrap方法給選中元素增加一個包裹的父元素。相反,如果刪除選中元素的父元素要如何處理 ?

jQuery提供了一個unwrap()方法 ,作用與wrap方法是相反的。將匹配元素集合的父級元素刪除,保留自身(和兄弟元素,如果存在)在原來的位置。

看一段簡單案例:

<div><p>p元素</p>
</div>

我要刪除這段代碼中的div,一般常規的方法會直接通過remove或者empty方法

$('div').remove();

但是如果我還要保留內部元素p,這樣就意味著需要多做很多處理,步驟相對要麻煩很多,為了更便捷,jQuery提供了unwrap方法很方便的處理了這個問題

$('p').unwrap();

找到p元素,然后調用unwrap方法,這樣只會刪除父輩div元素了

結果:

<p>p元素</p>

這個方法比較簡單,也不接受任何參數,注意參考下案例的使用即可

?

DOM包裹wrapAll()方法

wrap是針對單個dom元素處理,如果要將集合中的元素用其他元素包裹起來,也就是給他們增加一個父元素,針對這樣的處理,JQuery提供了一個wrapAll方法

.wrapAll( wrappingElement ):給集合中匹配的元素增加一個外面包裹HTML結構

簡單的看一段代碼:

<p>p元素</p>
<p>p元素</p>

給所有p元素增加一個div包裹

$('p').wrapAll('<div></div>')

最后的結構,2個P元素都增加了一個父div的結構

<div><p>p元素</p><p>p元素</p>
</div>

.wrapAll( function )?:一個回調函數,返回用于包裹匹配元素的 HTML 內容或 jQuery 對象

通過回調的方式可以單獨處理每一個元素

以上面案例為例,

$('p').wrapAll(function() {return '<div><div/>'; 
})

以上的寫法的結果如下,等同于warp的處理了

<div><p>p元素</p>
</div>
<div><p>p元素</p>
</div>

注意:

.wrapAll()函數可以接受任何字符串或對象,可以傳遞給$()工廠函數來指定一個DOM結構。這種結構可以嵌套多層,但是最內層只能有一個元素。所有匹配元素將會被當作是一個整體,在這個整體的外部用指定的 HTML 結構進行包裹。

?

DOM包裹wrapInner()方法

如果要將合集中的元素內部所有的子元素用其他元素包裹起來,并當作指定元素的子元素,針對這樣的處理,JQuery提供了一個wrapInner方法

.wrapInner( wrappingElement ):給集合中匹配的元素的內部,增加包裹的HTML結構

聽起來有點繞,可以用個簡單的例子描述下,簡單的看一段代碼:

<div>p元素</div>
<div>p元素</div>

給所有元素增加一個p包裹

$('div').wrapInner('<p></p>')

最后的結構,匹配的di元素的內部元素被p給包裹了

<div><p>p元素</p>
</div>
<div><p>p元素</p>
</div>

.wrapInner( function )?:允許我們用一個callback函數做參數,每次遇到匹配元素時,該函數被執行,返回一個DOM元素,jQuery對象,或者HTML片段,用來包住匹配元素的內容

以上面案例為例,

$('div').wrapInner(function() {return '<p></p>'; 
})

以上的寫法的結果如下,等同于第一種處理了

<div><p>p元素</p>
</div>
<div><p>p元素</p>
</div>

注意:

 當通過一個選擇器字符串傳遞給.wrapInner() 函數,其參數應該是格式正確的 HTML,并且 HTML 標簽應該是被正確關閉的。

轉載于:https://www.cnblogs.com/liaolijun/p/7326251.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253798.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253798.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253798.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

usleep函數

usleep功能把進程掛起一段時間&#xff0c; 單位是微秒&#xff08;百萬分之一秒&#xff09;&#xff1b; 頭文件&#xff1a; unistd.h 語法: void usleep(int micro_seconds); 返回值: 無 內容說明&#xff1a;本函數可暫時使程序停止執行。參數 micro_seconds 為要暫停的微…

限制Xamarin獲取圖片的大小

限制Xamarin獲取圖片的大小在App開發中&#xff0c;經常會使用網絡圖片。因為這樣不僅可以減少App的大小&#xff0c;還可以動態更新圖片。但是手機使用網絡環境千差萬別。當網絡環境不是理想的情況下&#xff0c;加載網絡圖片就是一個棘手的問題了。為了避免長時間加載圖片影響…

Linux應用開發自學之路

前言 在 「關于我 」那篇博文里&#xff0c;朋友們應該知道了我不是科班出身&#xff0c;是由機械強行轉行到Linux應用開發方向。下面我就詳細向大家介紹自己這一路上的轉行歷程&#xff0c;希望對大家有所啟發。 我是學機械專業的&#xff0c;對于機械專業我還是很感興趣&…

Verdi 基礎教程

一、Verdi 功能 查看設計debugVerdi不能自己產生波形 二、Verdi使用流程 1、Verdi環境配置 .bashrc中配置 export Verdi_HOME$Synopsys_Dir/Verdi2015 #export NOVAS_HOME$Synopsys_Dir/Verdi2015 export PATH$Verdi_HOME/bin:$PATH export LD_LIBRARY_PATH"/opt/Syno…

ida和idr機制分析(盤符分配機制)

內核ida和idr機制分析&#xff08;盤符分配機制&#xff09; ida和idr的機制在我個人看來&#xff0c;是內核管理整數資源的一種方法。在內核中&#xff0c;許多地方都用到了該結構&#xff08;例如class的id&#xff0c;disk的id&#xff09;&#xff0c;更直觀的說&#xff0…

MIPI CSI-2學習

CSI&#xff08;Camera Serial Interface&#xff09;定義了攝像頭外設與主機控制器之間的接口&#xff0c;旨在確定攝像頭與主機控制器在移動應用中的標準。 關鍵詞描述 縮寫解釋CCICamera Control Interface&#xff08;物理層組件&#xff0c;通常使用I2C或I3C進行通信&…

internet網絡 checksum校驗和計算方法

http://hi.baidu.com/%CE%C4%B3%AD%B9%AB/blog/item/7d9a4e08f82d72b32eddd4cb.html

最有效的創建大數據模型的6個技巧

數據建模是一門復雜的科學&#xff0c;涉及組織企業的數據以適應業務流程的需求。它需要設計邏輯關系&#xff0c;以便數據可以相互關聯&#xff0c;并支持業務。然后將邏輯設計轉換成物理模型&#xff0c;該物理模型由存儲數據的存儲設備、數據庫和文件組成。 歷史上&#xff…

【轉】Castle Windsor之組件注冊

【轉】Castle Windsor之組件注冊 注冊方式較多&#xff0c;大體有這么幾種&#xff0c;學習得比較粗淺&#xff0c;先記錄&#xff1a;1、逐個注冊組件即對每個接口通過代碼指定其實現類&#xff0c;代碼&#xff1a;container.Register(Component.For<IMyService>() //接…

Verilog 補碼加法溢出判斷及處理

補碼加法運算溢出判斷三種方法&#xff1a; 一、符號位判斷 Xf、Yf分別兩個數的符號位,Zf為運算結果符號位。 當Xf Yf 0&#xff08;兩數同為正&#xff09;,而Zf1(結果為負)時,負溢出&#xff1b;當出現Xf Yf 1&#xff08;兩數同為負&#xff09;,而Zf0&#xff08;結果為…

Android繪制(三):Path結合屬性動畫, 讓圖標動起來!

Android繪制(一):來用shape繪出想要的圖形吧! Android繪制(二):來用Path繪出想要的圖形吧! 目錄 效果圖前言繪制屬性動畫最后效果圖 不廢話, 直接上效果圖, 感興趣再看下去. 其實不單單是效果圖演示的, 運用熟練的話各種圖標之間都是可以切換的. 前言 之前的文章也說了, path還…

{{view 視圖層}}微信小程序

微信小程序 view 視圖層//自學 1.數據綁定 數據綁定WXML中的動態數據均來自對應Page的data。 簡單綁定數據綁定使用"Mustache"語法&#xff08;雙大括號&#xff09;將變量包起來&#xff0c;可以作用于&#xff1a; 內容<view> {{ message }} </view>Pa…

CMOS圖像傳感器——概述

一、概述 圖像傳感器是把光學圖像信息轉換成電信號的器件。圖像傳感器是隨著電視技術在20世紀30年代發展起來的,早期圖像傳感器技術的最重要貢獻在于建立了掃描(Scan)的概念,用掃描的方法把二維空間平面上的光電信息離散成行(Line)和幀(Frame),然后按空間順序讀出形成…

nand flash壞塊管理OOB,BBT,ECC

0.NAND的操作管理方式 NAND FLASH的管理方式&#xff1a;以三星FLASH為例&#xff0c;一片Nand flash為一個設備(device)&#xff0c;1 (Device) xxxx (Blocks)&#xff0c;1 (Block) xxxx (Pages)&#xff0c;1(Page) 528 (Bytes) 數據塊大小(512Bytes) OOB 塊大小(16Byte…

小白學git2

你已經在本地創建了一個Git倉庫后&#xff0c;又想在GitHub創建一個Git倉庫&#xff0c;并且讓這兩個倉庫進行遠程同步&#xff0c;這樣&#xff0c;GitHub上的倉庫既可以作為備份&#xff0c;又可以讓其他人通過該倉庫來協作&#xff0c;真是一舉多得。 首先&#xff0c;登陸G…

[LeetCode_5] Longest Palindromic Substring

LeetCode: 5. Longest Palindromic Substring class Solution { public: //動態規劃算法string longestPalindrome(string s) {int n s.length();int longestBegin 0;int maxLen 1;bool table[1000][1000] {false};for (int i 0; i < n; i) {table[i][i] true;}//對角…

冒泡排序java

一、最簡單粗暴的排序 思想為&#xff1a;讓每一個關鍵字都和它后邊的每一個關鍵字比較&#xff0c; 如果大則交換&#xff0c;這樣第一個位置的關鍵字在一次循環后一定變為最小值。 1 package demo01;2 3 class BubbleSort01 {4 public static void main(String[] args) {…

CMOS圖像傳感器——工作原理

一、像素陣列結構 一般像素陣列是由水平方向的行( Row ) 和垂直方向的列(Column)正交排列構成的。像素排列的最基本設計原則是:攝像器件像素排列的坐標,必須在顯示的時候能夠準確地還原在圖像原來的相對位置上。在大多數情況下,每個像素中心線在行的方向和列的方向,即…

追尋終極數據庫 - 事務/分析混合處理系統的交付挑戰 (3)

挑戰&#xff1a;支持多個存儲引擎 以下內容并不是新發現&#xff1a;行優化存儲適用于OLTP和運營工作負載&#xff0c;而列存儲適用于BI和分析工作負載。頻繁寫入的工作負載適用于行式存儲。對Hadoop而言&#xff0c;Hbase適合低延遲工作負載&#xff0c;列式ORC文件或Parquet…