当前位置: 首页 > news >正文

Jquery学习笔记 - DOM操作

jQuery的DOM操作方法均由原生方法appendChild和insertBefore拓展而来

  1.jQuery.fn.append <---> this.appendChild(ele)

  2.jQuery.fn.prepend <---> this.insertBefore(ele, this.firstChild)

  3.jQuery.fn.before <---> this.parentNode.insertBefore(ele, this)

  4.jQuery.fn.after <---> this.parentNode.insertBefore(ele, this.nextSibling)

  5.jQuery.fn.replaceWith <---> this.parentNode.insertBefore(ele, this.nextSibling)

 

特殊情况下,略~;正常情况下,向函数传入了节点,需要jQuery构建文档碎片,其中<script>节点需要在加载完后执行,步骤如下

  1.构建文档碎片,fragment=jQuery.buildFragment......,并分离出其中的script节点

  2.将文档碎片插入页面,执行script

 

还有其他的辅助操作

  1.test:测试传入内容的有无并创建相应的节点

  2.html:优先使用innerHtml插入节点,备用方法append

  3.wrapAll:将指定节点包裹起来,用前后插入法产生包裹节点

  4.wrapInner:包裹匹配元素子节点,原理类似,但是先用jQuery(this).contents(),获得子节点

  5.wrap:针对多个匹配节点分别使用wrapAll

  6.unwrap:显然~

  7.remove:同时会移去与元素相关的data()数据和事件处理器等,先调用cleadData()再removeChild()

  8.detach:简单版本的remove,只会移除节点,不移除数据

  9.empty:清除节点内数据,cleanData(),removeChild(ele.firstChild)

  10.clone:克隆节点,重要功能

 

重要的clone操作:当一个产生的节点被多次使用时,其位置只会在最后一次移动的位置,所以需要节点克隆,克隆返回一个元素副本的集合,并可以选择是否克隆附加数据和绑定事件!

  jQuery.fn.clone:function(withDataAndEvents, deepDataAndEvents)

  方法优先调用ele.cloneNode(true);els先获取元素的outerHTML再取其firstChild;

  之后克隆数据,针对IE有特别优化,详情再参考里~,后面有点看不懂了

 

 

参考:http://www.cnblogs.com/chuaWeb/p/jQuery-1-9-1-DOM-Manip.html

   http://www.cnblogs.com/chuaWeb/p/jQuery-1-9-1-DOM-Manip2.html

转载于:https://www.cnblogs.com/KEVIN--LEE/p/8260154.html

相关文章:

  • 【Java线程安全】 — ThreadLocal
  • python模块之collections模块
  • ElasticSearch集群介绍二
  • jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
  • 06人月神话阅读笔记
  • python之请求报文对比(假定最多二维字典)
  • spring_01介绍,搭建,概念,以及配置和属性注入
  • vue 手机端开发 小商铺 添加购物车 以及结算 功能
  • 【django基础】
  • iptables(1):iptables 基本概念
  • 爬虫-Beautiful Soup模块
  • python07-面向对象的程序设计
  • new Date()时间
  • LeetCode Find Permutation
  • postgressql sql查询拼接多个字段为一个字段查询出来
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • docker容器内的网络抓包
  • extjs4学习之配置
  • Java应用性能调优
  • js数组之filter
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Shadow DOM 内部构造及如何构建独立组件
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Vue学习第二天
  • vue总结
  • 程序员最讨厌的9句话,你可有补充?
  • 从重复到重用
  • 大快搜索数据爬虫技术实例安装教学篇
  • 翻译--Thinking in React
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 构建工具 - 收藏集 - 掘金
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 消息队列系列二(IOT中消息队列的应用)
  • 仓管云——企业云erp功能有哪些?
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​io --- 处理流的核心工具​
  • "无招胜有招"nbsp;史上最全的互…
  • #git 撤消对文件的更改
  • #Java第九次作业--输入输出流和文件操作
  • #Z0458. 树的中心2
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (六)激光线扫描-三维重建
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)母版页和相对路径
  • (转载)Linux 多线程条件变量同步
  • (转载)利用webkit抓取动态网页和链接
  • .Net IE10 _doPostBack 未定义