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插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 jQuery
jquery 禁止鼠标右键并监听右键事件
Apr 27 jQuery
jQuery回调方法使用示例
Jun 26 jQuery
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
Jul 08 jQuery
jQuery 利用ztree实现树形表格的实例代码
Sep 27 jQuery
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jQuery属性选择器用法实例分析
Jun 28 jQuery
Jquery实现获取子元素的方法分析
Aug 24 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
jquery实现上传文件进度条
Mar 26 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之第九天
2006/10/09 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
python设置值及NaN值处理方法
2018/07/03 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
自动化专业本科毕业生求职信
2013/10/20 职场文书
财务管理专业推荐信
2013/11/19 职场文书
小学生环保演讲稿
2014/04/25 职场文书
食品安全工作方案
2014/05/07 职场文书
学校党员干部承诺书
2015/05/04 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
Python实现简单得递归下降Parser
2022/05/02 Python