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 Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 jQuery
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 jQuery
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
jquery中done和then的区别(详解)
Dec 19 jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
jquery将json转为数据字典的实例代码
Oct 11 jQuery
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
jQuery插件实现图片轮播效果
Oct 19 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
python logging类库使用例子
2014/11/22 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
Python requests模块实例用法
2019/02/11 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
opencv实现图像几何变换
2021/03/24 Python
销售行政专员职责
2014/01/03 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
《雨点》教学反思
2014/02/12 职场文书
环保倡议书50字
2014/05/15 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
故意杀人案辩护词
2015/05/21 职场文书
荒岛余生观后感
2015/06/09 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS