
正文
JQuery_DOM 节点操作之包裹节点
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
jQuery 提供了一系列方法用于包裹节点,那包裹节点是什么意思呢?其实就是使用字符串代码将指定元素的代码包含着的意思。
<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
//$('div').wrap('<strong></strong>'); //在div 外层包裹一层strong
//$('div').wrap('<strong>123</strong>'); //包裹的元素可以带内容
//$('div').wrap('<strong><em></em></strong>'); //包裹多个元素
//$('div').wrap($('strong').get(1)); //也可以包裹一个原生DOM,先获取到strong元素,后再包裹div元素
//$('div').wrap(document.createElement('strong')); //临时的原生DOM
$('div').wrap(function (index) { //匿名函数
return '<strong>'+index+'</strong>';
});
});
</script>
</head>
<body>
<strong>DOM</strong>
<strong>DFM</strong>
<div>节点</div>
<div>节点</div>
</body>
<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
$('div').unwrap(); //移除一层包裹内容,多个需移除多次
});
</script>
</head>
<body>
<strong><div>节点</div></strong>
<strong><em><div>节点</div></em></strong>
</body>
<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
//$('div').wrapAll('<strong></strong>'); //所有div 外面只包一层strong
//$('div').wrapAll($('strong').get(0)); //同上
});
</script>
</head>
<body>
<div>节点</div>
<div>节点</div>
</body>
.wrap()和.wrapAll()的区别在前者把每个元素当成一个独立体,分别包含一层外层;后者将所有元素作为一个整体作为一个独立体,只包含一层外层。
这两种都是在外层包含,而.wrapInner()在内层包含。
<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
$('div').wrapInner('<strong></strong>'); //包裹子元素内容,这里包裹了div里面的节点变成<div><strong>节点</strong></div>
//$('div').wrapInner($('strong').get(0)); //DOM 节点
//$('div').wrapInner(function () { //匿名函数
//return '<strong></strong>';
//});
});
</script>
</head>
<body>
<div>节点</div>
<div>节点</div>
</body>







