使用jQuery中的wrap()函數(shù)操作HTML元素的教程
wrap()函數(shù)用于在每個匹配元素外部包裹指定的HTML結構。
與該函數(shù)相對的是unwrap()函數(shù),用于當前匹配元素的父元素(只移除父元素,其內部節(jié)點全部保留)。
該函數(shù)屬于jQuery對象(實例)。
語法
jQueryObject.wrap( wrapper )
參數(shù)
wrapper String/Element/jQuery/Function類型用于包裹匹配元素的節(jié)點。
如果參數(shù)wrapper為字符串,則將其視作jQuery選擇器或html字符串,jQuery會自行判斷。
jQuery 1.4 新增支持:參數(shù)wrapper可以為函數(shù)。wrap()將根據(jù)匹配的所有元素遍歷執(zhí)行該函數(shù),函數(shù)中的this將指向對應的DOM元素。
wrap()還會為函數(shù)傳入一個參數(shù),即當前元素在匹配元素中的索引。函數(shù)的返回值就是用于包裹的節(jié)點內容(可以是html字符串、DOM元素或jQuery對象)。
注意:如果wrapper匹配多個元素,則只將第一個元素作為包裹元素。
注意:如果wrapper是多層嵌套的元素(例如<p><i></i></p>),wrap()將從外往內檢查每層嵌套的第一個節(jié)點。如果該節(jié)點沒有子節(jié)點或者第一個子節(jié)點不是Element節(jié)點(比如文本節(jié)點、注釋節(jié)點等),就停止向內查找,直接在當前節(jié)點內部的末尾位置追加(append())當前匹配元素。
返回值
wrap()函數(shù)的返回值為jQuery類型,返回當前jQuery對象本身(以便于進行鏈式風格的編程)。
注意:即使wrapper元素是當前頁面中的元素,該元素也不會從原位置上消失。因為wrap()使用的是該元素的副本(克隆)來充當包裹。
示例
<div class="container"> <div class="inner">Hello</div> <div class="inner">Goodbye</div> </div>
$( ".inner" ).wrap(function() { return "<div class='" + $( this ).text() + "'></div>"; });
結果如下:
<div class="container"> <div class="Hello"> <div class="inner">Hello</div> </div> <div class="Goodbye"> <div class="inner">Goodbye</div> </div> </div>
類似的用法還有.wrapAll()、.wrapInner()、.unwrap()等等!
相關文章
Jquery+bootstrap實現(xiàn)表格行置頂置底上移下移操作詳解
這篇文章主要為大家詳細介紹了Jquery+bootstrap實現(xiàn)表格行置頂置底上移下移操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02Jquery 模板數(shù)據(jù)綁定插件的使用方法詳解
本篇文章是對在Jquery中模板數(shù)據(jù)綁定插件的使用方法進行了詳細的分析介紹,需要的朋友參考下2013-07-07基于jQuery Tipso插件實現(xiàn)消息提示框特效
這篇文章主要介紹了基于jQuery Tipso插件實現(xiàn)消息提示框特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-03-03jQuery獲取css z-index在各種瀏覽器中的返回值
jQuery 取 css z-index 值在各種瀏覽器中的返回值的代碼,需要的朋友可以參考下。2010-09-09jQuery插件zepto.js簡單實現(xiàn)tab切換
這篇文章主要介紹了jQuery插件zepto.js簡單實現(xiàn)tab切換的代碼,十分的簡潔,有需要的小伙伴可以參考下2015-06-06