勤竿懊澜栏掳瓶飘旅淳饶剩傲
原始结构:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>5.元素包裹</title> </head> <body> <a href="https://www.tmall.com">天猫</a> <a href="https://taobao.com">淘宝</a> <a href="https://www.jd.com/">京东</a> <a href="https://www.suning.com">苏宁</a> <p>网上购物:</p> <button>wrap()</button> <button>wrapInner()</button> <button>wrapAll()</button> <button>unwrap()</button> </body> </html>
执行:
/**
* 1.wrap(content):
* 功能:包裹每一个节点
* 参数:内容或元素
*/
用法一.用一个新标签来包裹目标元素
将每一个a标签都用li包裹
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button:first').click(function(){ //每个a用新生成的li进行包裹 $('a').wrap($('<li>')) }) </script>
执行,点击wrap(),此时每一个a标签都被li标签包裹着
简写:
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button:first').click(function(){ //每个a用新生成的li进行包裹 $('a').wrap('<li>') }) </script>
执行效果一致。
用法二.用已存在的标签来包裹目标节点
每一个a都用已经存在的p标签【<p>网上购物:</p>】来包裹
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button:first').click(function(){ //用法二.用已存在的标签来包裹目标节点 $('a').wrap($('p')) }) </script>
执行,点击wrap(),此时每一个a都被【<p>网上购物:</p>】包裹
对于下方的代码,最外面的是li而不是p
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button:first').click(function(){ $('a').wrap('<li>') $('a').wrap($('p')) }) </script>
执行,点击wrap()
因为每次执行,返回的都是a标签
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button:first').click(function(){ var res=$('a').wrap('<li>') $('a').wrap($('p')) console.log(res) }) </script>
执行,第一次执行返回的是a标签
可以使用parent()查看父级元素
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button:first').click(function(){ $('a').wrap('<li>') var res = $('a').wrap($('p')).parent().parent() console.log(res) }) </script>
执行,点击wrap()
/**
* 1.wrapInner(content):
* 功能:包裹每一个节点的内容
* 参数:内容或元素
*/
给a标签里面的内容包裹一个h1标签
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button').eq(1).click(function(){ $('a').wrapInner('<h1>') }) </script>
执行,点击wrapInner()
用法二.用已存在的标签来包裹目标节点内容
用已经存在的p标签【<p>网上购物:</p>】来包裹a标签的内容
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button').eq(1).click(function(){ $('a').wrapInner($('p')) }) </script>
执行:
/**
* 1.wrapAll(content):
* 功能:包裹一组节点
* 参数:内容或元素
*/
用ul包裹每一个li,且ul背景色为小麦色
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button').eq(2).click(function(){ $('a').wrap('<li>') $('li').wrapAll('<ul style="background-color:wheat;">') }) </script>
执行,点击wrapAll()
用法二.用已存在的标签来包裹目标节点内容,给<li>再套一个<div>
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button').eq(2).click(function(){ $('a').wrap('<li>') $('li').wrapAll('<ul style="background-color:wheat;">') $('li').wrapAll($('<div style="background-color: cyan">')) }) </script>
执行:
/**
* 1.unwrap(content):
* 功能:删除节点上父元素
* 参数:无
*/
<script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script> <script type="text/javascript"> $('button').eq(2).click(function(){ $('a').wrap('<li>') $('li').wrapAll('<ul style="background-color:wheat;">') $('li').wrapAll($('<div style="background-color: cyan">')) }) $('button').eq(3).click(function(){ $('li').unwrap().unwrap() }) </script>
执行,先点击wrapAll(),让li包裹上div和ul
再点击unwrap()去除包裹li的父元素div和ul
俄鸿谅惩恼五放湿窍吴隆翻钝