jQuery--包裹节点(wrap()、wrapAll()、wrapInner()),取消包裹节点(unwrap())详解

mac2022-06-30  27

包裹节点

所谓包裹节点,是指在现有节点的外围包裹一层其他元素标签,使当前节点称为新元素的子节点。jQuery提供了wrap()和wrapAll()等方法用于实现节点的包裹。

1. wrap()方法: wrap()方法用于将所匹配的元素通过指定的HTML标签包裹起来,其语法格式如下:

$(selector).wrap(htnml) $(selector).wrap(element) $(selector):表示被包裹的匹配元素html:表示用于包裹的html标签element:表示用于包裹的DOM元素

示例:

$("#headerDiv").wrap("<b></b>"); $("#headerDiv").wrap($("span")); $("#headerDiv").wrap(document.getElementById("mySpan"));

2. wrapAll()方法: wrapAll()方法用于将所匹配的元素使用HTML标签整体包裹起来,其语法格式如下:

$(selector).wrapAll(html) $(selector).wrapAll(element) $(selector):表示被包裹的匹配元素html:表示用于包裹的html标签element:表示用于包裹的DOM元素

3. wrapInner()方法: wrapInner()方法用于将所匹配元素的子内容(包含文本节点)使用HTML标签包裹起来。

$(selector).wrapInner(html) $(selector).wrapInner(element) $(selector):表示被包裹的匹配元素html:表示用于包裹的html标签element:表示用于包裹的DOM元素

示例:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="../js/jquery-2.1.0.js" ></script> </head> <body> <div id="headerDiv"> <a href="#">影视</a> <a href="#">购物</a> </div> <div id="menuDiv"> <a href="#">喜好推荐</a> <a href="#">热门推荐</a> </div> <div id="footerDiv"> <a href="#">影视频道</a> <a href="#">购物频道</a> </div> <script type="text/javascript"> $(function(){ $("#headerDiv a").wrap("<b></b>"); $("#headerDiv a").wrapAll("<b></b>"); $("#headerDiv a").wrapInner("<b></b>"); }); </script> </body> </html>

4. unwrap()方法: unwrap()方法用于删除所匹配元素的父元素,能够快速取消wrap()方法所产生的效果。

示例:取消节点包裹

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="../js/jquery-2.1.0.js" ></script> </head> <body> <div id="advDiv"> <a href="#"><b>影视频道</b></a> <a href="#"><b>购物频道</b></a> </div> <script type="text/javascript"> $(function(){ $("#advDiv b").unwrap(); }); </script> </body> </html>

最新回复(0)