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插件制作 自增长输入框实现代码
Aug 17 jQuery
Jquery获取radio选中的值
May 05 jQuery
JQuery实现定时刷新功能代码
May 09 jQuery
jQuery查找dom的几种方法效率详解
May 17 jQuery
JQuery.dataTables表格插件添加跳转到指定页
Jun 09 jQuery
JavaScript之事件委托实例(附原生js和jQuery代码)
Jul 22 jQuery
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 jQuery
jquery简易手风琴插件的封装
Oct 13 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的十大要点(上)
2009/02/04 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Python实现ssh批量登录并执行命令
2016/10/25 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
jupyter notebook实现显示行号
2020/04/13 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
应届大学生求职的自我评价
2013/11/17 职场文书
原材料检验岗位职责
2014/03/15 职场文书
书法大赛策划方案
2014/06/04 职场文书
通信工程专业求职信
2014/06/04 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
《颐和园》教学反思
2016/02/19 职场文书
python spilt()分隔字符串的实现示例
2021/05/21 Python
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS