jQuery修改DOM结构_动力节点Java学院整理


Posted in jQuery onJuly 05, 2017

直接使用浏览器提供的API对DOM结构进行修改,不但代码复杂,而且要针对浏览器写不同的代码。

有了jQuery,我们就专注于操作jQuery对象本身,底层的DOM操作由jQuery完成就可以了,这样一来,修改DOM也大大简化了。

添加DOM

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

<div id="test-div">
  <ul>
    <li><span>JavaScript</span></li>
    <li><span>Python</span></li>
    <li><span>Swift</span></li>
  </ul>
</div>

如何向列表新增一个语言?首先要拿到<ul>节点:

var ul = $('#test-div>ul');

然后,调用append()传入HTML片段:

ul.append('<li><span>Haskell</span></li>');

除了接受字符串,append()还可以传入原始的DOM对象,jQuery对象和函数对象:

// 创建DOM对象:
var ps = document.createElement('li');
ps.innerHTML = '<span>Pascal</span>';
// 添加DOM对象:
ul.append(ps);
// 添加jQuery对象:
ul.append($('#scheme'));
// 添加函数对象:
ul.append(function (index, html) {
  return '<li><span>Language - ' + index + '</span></li>';
});

传入函数时,要求返回一个字符串、DOM对象或者jQuery对象。因为jQuery的append()可能作用于一组DOM节点,只有传入函数才能针对每个DOM生成不同的子节点。

append()把DOM添加到最后,prepend()则把DOM添加到最前。

另外注意,如果要添加的DOM节点已经存在于HTML文档中,它会首先从文档移除,然后再添加,也就是说,用append(),你可以移动一个DOM节点。

如果要把新节点插入到指定位置,例如,JavaScript和Python之间,那么,可以先定位到JavaScript,然后用after()方法:

var js = $('#test-div>ul>li:first-child');
js.after('<li><span>Lua</span></li>');

也就是说,同级节点可以用after()或者before()方法。

删除节点

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

var li = $('#test-div>ul>li');
li.remove(); // 所有<li>全被删除

以上所述是小编给大家介绍的jQuery修改DOM结构的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
Apr 20 jQuery
jQuery实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
jQuery.parseJSON()函数详解
Feb 28 jQuery
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 #jQuery
jquery拖动改变div大小
Jul 04 #jQuery
jQuery实现动态给table赋值的方法示例
Jul 04 #jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 #jQuery
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 #jQuery
jQuery简介_动力节点Java学院整理
Jul 04 #jQuery
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 #jQuery
You might like
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
js解决movebox移动问题
2016/03/29 Javascript
炫酷的js手风琴效果
2016/10/13 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
基于python实现微信模板消息
2015/12/21 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python Django编写接口并用Jmeter测试的方法
2019/07/31 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
文职个人求职信范文
2013/09/23 职场文书
搞笑婚前保证书
2015/02/28 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
建立共青团委员会的请示
2019/04/02 职场文书