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.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
jQuery zTree插件使用简单教程
Aug 16 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
jquery实现点击弹出对话框
Feb 08 jQuery
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
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转换颜色为其反色的方法
2015/04/27 PHP
PHP概率计算函数汇总
2015/09/13 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
移动端js图片查看器
2016/11/17 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
简单使用Python自动生成文章
2014/12/25 Python
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
解析Python中的异常处理
2015/04/28 Python
python paramiko模块学习分享
2017/08/23 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
详解python内置模块urllib
2020/09/09 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
python中xlrd模块的使用详解
2021/02/01 Python
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
研究生毕业自我鉴定范文
2014/03/27 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
Elasticsearch 数据类型及管理
2022/04/19 Python