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加密密码到cookie的实现代码
Apr 18 jQuery
简单谈谈require模块化jquery和angular的问题
Jun 23 jQuery
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
jQuery实现简单弹幕效果
Nov 28 jQuery
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
jquery检测上传文件大小示例
Apr 26 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 jQuery
jquery实现简单每周轮换的日历
Sep 10 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数组的概述及分类与声明代码演示
2013/02/26 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
基于python if 判断选择结构的实例详解
2019/05/06 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
python爬虫如何解决图片验证码
2021/02/14 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
关于Java finally的面试题
2016/04/27 面试题
管理信息系学生的自我评价
2014/01/11 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
2014年财政局工作总结
2014/12/09 职场文书
学术会议通知
2015/04/15 职场文书
感恩教育主题班会
2015/08/12 职场文书
2015年国庆节寄语
2015/08/17 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技