从零开始学jQuery(5)--修改DOM结构

添加DOM
要添加新的DOM节点,除了通过jQuery的html()这种暴力方法外,还可以用append()方法

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-3.5.1.js"></script> 
</head>
<body>
<div id="test-div">
 <ul>
<li><span>DOTA2</span></li>
 <li><span>CSGO</span></li>
 <li><span>LOL</span></li> 
</ul> 
</div>
</body>
</html>
 var ul = $('#test-div>ul'); //拿到了我们节点
 ul.append('<li><span>王者荣耀</span></li>');//添加一个王者荣耀的节点,发现页面上多了个王者荣耀
 ul.append('吃鸡');//额这样也行...就干加了个吃鸡...哈哈

append()还可以传入原始的DOM对象,jQuery对象和函数对象

var  new_li= document.createElement('li');//创建一个新的dom对象
new_li.innerHTML = '<span>星际争霸</span>';//给这个li里面添加内容
ul.append(new_li);//添加了这个新的li对象
ul.append($('#scheme'));//添加jQuery对象,但不知道有什么效果....我的测试没啥效果
ul.append(function ( ) { return '<li><span>红警' + '</span></li>'; }); 

传入函数时,要求返回一个字符串、DOM对象或者jQuery对象。因为jQuery的append()可能作用于一组DOM节点,只有传入函数才能针对每个DOM生成不同的子节点
append()把DOM添加到最后,prepend()则把DOM添加到最前
如果要添加的DOM节点已经存在于HTML文档中,它会首先从文档移除,然后再添加,也就是说, 用append(),你可以移动一个DOM节点

插入到指定位置
同级节点可以用after()或者before()方法
比如说我们想添加到DOTA2和CSGO之间,可以先定位到DOTA2,然后用after()方 法

var dota2 = $('#test-div>ul>li:first-child');//拿到dota2
dota2.after('<li><span>cs1.6</span></li>');//再dota2后面添加cs1.6

删除节点
要删除DOM节点,拿到jQuery对象后直接调用remove()方法就可以了,如果jQuery对象包含若干DOM节点,实际上可以一次删除多个DOM节点

dota2.remove();//只删除DOTA2
 $('#test-div>ul>li').remove(); //全都删了..变成空白页啦 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值