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与js实现全选功能的区别
Jun 11 jQuery
jQuery实现简单的手风琴效果
Apr 17 jQuery
jQuery实现点击关注和取消功能
Jul 03 jQuery
JQuery EasyUI的一些常用组件
Jul 12 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
jQuery选择器之基本选择器用法实例分析
Feb 19 jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
jquery插件开发模式实例详解
Jul 20 jQuery
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 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/02 日漫
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
php计算整个目录大小的方法
2015/06/01 PHP
Yii2如何批量添加数据
2016/05/17 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
Python中表示字符串的三种方法
2017/09/06 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
django使用LDAP验证的方法示例
2018/12/10 Python
Python变量类型知识点总结
2019/02/18 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
python实现ip地址的包含关系判断
2020/02/07 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
医学护理毕业生自荐信
2013/11/07 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
专业技术职务聘任证明
2015/03/02 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
Python实现照片卡通化
2021/12/06 Python