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实现二级联动效果
Mar 30 jQuery
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
jQuery实现键盘回车搜索功能
Jul 25 jQuery
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
jquery 通过ajax请求获取后台数据显示在表格上的方法
Aug 08 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 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的日期与时间函数技巧
2008/04/24 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP 断点续传实例详解
2017/11/11 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
angular 服务随记小结
2019/05/06 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
浅谈python数据类型及类型转换
2017/12/18 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
Django对models里的objects的使用详解
2019/08/17 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
django 读取图片到页面实例
2020/03/27 Python
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
入党自荐书范文
2014/03/09 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
zabbix监控mysql的实例方法
2021/06/02 MySQL
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android