原生JS与jQuery操作DOM对比
一、创建元素节点
1.1 原生JS
创建元素节点
- document.createElement("p");
1.2 jQuery
创建元素节点
- $('<p></p>');`
二、创建并添加文本节点
2.1 原生JS创建文本节点
- document.createTextNode("Text Content");
通常创建文本节点和创建元素节点配合使用,比如:
- var textEl = document.createTextNode("Hello World.");
- var pEl = document.createElement("p");
- pEl.appendChild(textEl);
2.2 jQuery
创建并添加文本节点:
- var $p = $('<p>Hello World.</p>');
三、复制节点
3.1 原生JS
复制节点:
- var newEl = pEl.cloneNode(true); `
3.2 jQuery
复制节点
- $newEl = $('#pEl').clone(true);
四、 插入节点
4.1 原生JS向子节点列表的末尾添加新的子节点
- El.appendChild(newNode);
原生JS在节点的已有子节点之前插入一个新的子节点:
- El.insertBefore(newNode, targetNode);
4.2 在jQuery中,插入节点的方法比原生JS多的多
在匹配元素子节点列表结尾添加内容
- $('#El').append('<p>Hello World.</p>');
把匹配元素添加到目标元素子节点列表结尾
- $('<p>Hello World.</p>').appendTo('#El')
在匹配元素子节点列表开头添加内容
- $('#El').prepend('<p>Hello World.</p>');
把匹配元素添加到目标元素子节点列表开头
- $('<p>Hello World.</p>').prependTo('#El');
在匹配元素之前添加目标内容
- $('#El').before('<p>Hello World.</p>');
把匹配元素添加到目标元素之前
- $('<p>Hello World.</p>').insertBefore('#El');
在匹配元素之后添加目标内容
- $('#El').after('<p>Hello World.</p>');
把匹配元素添加到目标元素之后
- $('<p>Hello World.</p>').insertAfter('#El');
五、删除节点
5.1 原生JS删除节点
- El.parentNode.removeChild(El);
5.2 jQuery删除节点
- $('#El').remove();
六、替换节点
6.1 原生JS替换节点
- El.repalceChild(newNode, oldNode);
6.2 jQuery替换节点
- $('p').replaceWith('<p>Hello World.</p>');
七、设置属性/获取属性
7.1 原生JS设置属性/获取属性
- imgEl.setAttribute("title", "logo");
- imgEl.getAttribute("title");
- checkboxEl.checked = true;
- checkboxEl.checked;
7.2 jQuery设置属性/获取属性:
- $("#logo").attr({"title": "logo"});
- $("#logo").attr("title");
- $("#checkbox").prop({"checked": true});
- $("#checkbox").prop("checked");
原生JS与jQuery操作DOM对比的更多相关文章
- 原生JS和jQuery操作DOM的区别小结
一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...
- 原生js与jquery操作iframe
1 原生js获取iframe的window对象 //方法1 document.getElementById('iframeId').contentWindow; //方法2 window.frame ...
- Ajax 跨域难题 - 原生 JS 和 jQuery 的实现对比
讲解顺序: AJAX 的概念及由来 JS 和 jQuery 中的 ajax 浏览器机制 AJAX 跨域 AJAX 的概念 在讲解 AJAX 的概念之前,我先提一个问题. 这是一个典型的 B/S 模式. ...
- 原生js 与 jQuery对比
1.原生JS与jQuery操作DOM对比 : https://www.cnblogs.com/QianBoy/p/7868379.html 2.比较jQuery与JavaScript的不同功能实 ...
- 原生js替换jQuery各种方法-中文版
原文https://github.com/nefe/You-D... 原生JS与jQuery操作DOM对比 You Don't Need jQuery 前端发展很快,现代浏览器原生 API 已经足够好 ...
- 【前端性能】必须要掌握的原生JS实现JQuery
很多时候,我们经常听见有人说jquery有多快多快.在这个各种类库满天飞的时候,不得不说的是,能有原生JS快吗? 是的,明显原生JS要更快,因为诸如JQuery这样的库必须要兼容各种浏览器和低版本和许 ...
- 原生js和jquery实现图片轮播特效
本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...
- 原生js和jquery实现图片轮播特效(转)
本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...
- Hybrid App开发之jQuery操作DOM
前言: 前面学习了JQuery的选择器,今天开始学习新的知识,JQuery操作DOM元素. 元素属性的访问与设置 attr(name) 获取元素属性 attr(name,value) 单个属性设置 a ...
随机推荐
- SpringAop源码情操陶冶-JdkDynamicAopProxy
承接前文SpringAop源码情操陶冶-AspectJAwareAdvisorAutoProxyCreator,本文在前文的基础上稍微简单的分析默认情况下的AOP代理,即JDK静态代理 JdkDyna ...
- MyBatis学习笔记1--初识MyBatis
我也是初学者,写博客只是想把自己的整个思路整理一下,有不对或者不好的地方,请大家多多指正. 1.MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. ...
- 前端框架:react还是vue?
之前写了一篇前端框架的大汇总,主要介绍了当下主流的框架和其特性.最近除了bootstrap,就属react和vue最为热门,这篇就主要拿这两个框架来做一下详细对比. 究竟如何正确使用?作为小白的我们从 ...
- vue-router在ie9及以下history模式支持
参考: https://www.npmjs.com/package/vue-route https://github.com/devote/HTML5-History-API 提要: ie9及以下不支 ...
- Mybatis3 快速入门
Mybatis3 快速入门 目前常见的持久层java框架有Hibernate,Mybatis,SpringData.笔者比较喜欢用SpringData.Hibernate 和 Mybatis 也经常用 ...
- Minecraft
描述 Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界. 在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方 ...
- 【原创】抓个Firefox的小辫子,围观群众有:Chrome、Edge、IE8-11
前言 很多人都知道我们在做FineUI控件库,在这 9 年多的时间里,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭标签的问题 ...
- jQuery操作input改变value属性值
今天写了一个表单元素,在用户点击的时候会清空input中的内容,当鼠标点击其他地方的时候会把输入的值保存为input的value值 类似于这样的效果 当用户点击的时候文字消失. html代码 < ...
- 在centos上搭建SVN服务器和MySQL
----------搭建MySQL--------------- 1.查看yum库中的mysql yum list | grep mysql //查看yum库中的mysql 2.选择需要的mysql进 ...
- php数据分页显示基础
一:分页原理: 所谓分页显示,也就是将数据库中的结果集认为的分成一段一段的来显示,需要两个初始的参数: 每页多少条记录 ($PageSize)? 当前是第几页($CurrentPageID)? 还有其 ...