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中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
vue单页应用中如何使用jquery的方法示例
Jul 27 jQuery
简述jQuery Easyui一些用法
Aug 01 jQuery
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
jQuery实现手风琴效果(蒙版)
Jan 11 jQuery
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 jQuery
jQuery实现鼠标拖拽登录框移动效果
Sep 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
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
js实现的网页颜色代码表全集
2007/07/17 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
js+SVG实现动态时钟效果
2018/07/14 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Python定时执行之Timer用法示例
2015/05/27 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
工程力学专业毕业生求职信
2013/10/06 职场文书
交通事故协议书范文
2014/04/16 职场文书
倡议书格式模板
2014/05/13 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL
JavaScript实现音乐播放器
2022/08/14 Javascript