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 相关文章推荐
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
JS+jQuery实现注册信息的验证功能
Sep 26 jQuery
jQuery实现的form转json经典示例
Oct 10 jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
Vue项目中使用jquery的简单方法
May 16 jQuery
jquery插件开发模式实例详解
Jul 20 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 jQuery
jQuery实现增删改查
Dec 22 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
中英文字符串翻转函数
2008/12/09 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
php表单处理操作
2017/11/16 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
python类参数self使用示例
2014/02/17 Python
python读取csv文件示例(python操作csv)
2014/03/11 Python
python对json的相关操作实例详解
2017/01/04 Python
python3操作mysql数据库的方法
2017/06/23 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python 接收处理外带的参数方法
2018/12/03 Python
python @propert装饰器使用方法原理解析
2019/12/25 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
《可爱的动物》教学反思
2014/02/22 职场文书
小学老师寄语大全
2014/04/04 职场文书
文明生主要事迹
2014/05/25 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
小学科学教学计划
2015/01/21 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL