一、创建元素节点

1.1 原生JS创建元素节点

  1. document.createElement("p");

1.2 jQuery创建元素节点

  1. $('<p></p>');`

二、创建并添加文本节点

2.1 原生JS创建文本节点

  1. document.createTextNode("Text Content");

通常创建文本节点和创建元素节点配合使用,比如:

  1. var textEl = document.createTextNode("Hello World.");
  2. var pEl = document.createElement("p");
  3. pEl.appendChild(textEl);

2.2 jQuery创建并添加文本节点:

  1. var $p = $('<p>Hello World.</p>');

三、复制节点

3.1 原生JS复制节点:

  1. var newEl = pEl.cloneNode(true); `

3.2 jQuery复制节点

  1. $newEl = $('#pEl').clone(true);

四、 插入节点

4.1 原生JS向子节点列表的末尾添加新的子节点

  1. El.appendChild(newNode);

原生JS在节点的已有子节点之前插入一个新的子节点:

  1. El.insertBefore(newNode, targetNode);

4.2 在jQuery中,插入节点的方法比原生JS多的多

在匹配元素子节点列表结尾添加内容

  1. $('#El').append('<p>Hello World.</p>');

把匹配元素添加到目标元素子节点列表结尾

  1. $('<p>Hello World.</p>').appendTo('#El')

在匹配元素子节点列表开头添加内容

  1. $('#El').prepend('<p>Hello World.</p>');

把匹配元素添加到目标元素子节点列表开头

  1. $('<p>Hello World.</p>').prependTo('#El');

在匹配元素之前添加目标内容

  1. $('#El').before('<p>Hello World.</p>');

把匹配元素添加到目标元素之前

  1. $('<p>Hello World.</p>').insertBefore('#El');

在匹配元素之后添加目标内容

  1. $('#El').after('<p>Hello World.</p>');

把匹配元素添加到目标元素之后

  1. $('<p>Hello World.</p>').insertAfter('#El');

五、删除节点

5.1 原生JS删除节点

  1. El.parentNode.removeChild(El);

5.2 jQuery删除节点

  1. $('#El').remove();

六、替换节点

6.1 原生JS替换节点

  1. El.repalceChild(newNode, oldNode);

6.2 jQuery替换节点

  1. $('p').replaceWith('<p>Hello World.</p>');

七、设置属性/获取属性

7.1 原生JS设置属性/获取属性

  1. imgEl.setAttribute("title", "logo");
  2. imgEl.getAttribute("title");
  3. checkboxEl.checked = true;
  4. checkboxEl.checked;

7.2 jQuery设置属性/获取属性:

  1. $("#logo").attr({"title": "logo"});
  2. $("#logo").attr("title");
  3. $("#checkbox").prop({"checked": true});
  4. $("#checkbox").prop("checked");

原生JS与jQuery操作DOM对比的更多相关文章

  1. 原生JS和jQuery操作DOM的区别小结

    一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...

  2. 原生js与jquery操作iframe

    1  原生js获取iframe的window对象 //方法1 document.getElementById('iframeId').contentWindow; //方法2 window.frame ...

  3. Ajax 跨域难题 - 原生 JS 和 jQuery 的实现对比

    讲解顺序: AJAX 的概念及由来 JS 和 jQuery 中的 ajax 浏览器机制 AJAX 跨域 AJAX 的概念 在讲解 AJAX 的概念之前,我先提一个问题. 这是一个典型的 B/S 模式. ...

  4. 原生js 与 jQuery对比

    1.原生JS与jQuery操作DOM对比  :   https://www.cnblogs.com/QianBoy/p/7868379.html 2.比较jQuery与JavaScript的不同功能实 ...

  5. 原生js替换jQuery各种方法-中文版

    原文https://github.com/nefe/You-D... 原生JS与jQuery操作DOM对比 You Don't Need jQuery 前端发展很快,现代浏览器原生 API 已经足够好 ...

  6. 【前端性能】必须要掌握的原生JS实现JQuery

    很多时候,我们经常听见有人说jquery有多快多快.在这个各种类库满天飞的时候,不得不说的是,能有原生JS快吗? 是的,明显原生JS要更快,因为诸如JQuery这样的库必须要兼容各种浏览器和低版本和许 ...

  7. 原生js和jquery实现图片轮播特效

    本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...

  8. 原生js和jquery实现图片轮播特效(转)

    本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...

  9. Hybrid App开发之jQuery操作DOM

    前言: 前面学习了JQuery的选择器,今天开始学习新的知识,JQuery操作DOM元素. 元素属性的访问与设置 attr(name) 获取元素属性 attr(name,value) 单个属性设置 a ...

随机推荐

  1. SpringAop源码情操陶冶-JdkDynamicAopProxy

    承接前文SpringAop源码情操陶冶-AspectJAwareAdvisorAutoProxyCreator,本文在前文的基础上稍微简单的分析默认情况下的AOP代理,即JDK静态代理 JdkDyna ...

  2. MyBatis学习笔记1--初识MyBatis

    我也是初学者,写博客只是想把自己的整个思路整理一下,有不对或者不好的地方,请大家多多指正. 1.MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. ...

  3. 前端框架:react还是vue?

    之前写了一篇前端框架的大汇总,主要介绍了当下主流的框架和其特性.最近除了bootstrap,就属react和vue最为热门,这篇就主要拿这两个框架来做一下详细对比. 究竟如何正确使用?作为小白的我们从 ...

  4. vue-router在ie9及以下history模式支持

    参考: https://www.npmjs.com/package/vue-route https://github.com/devote/HTML5-History-API 提要: ie9及以下不支 ...

  5. Mybatis3 快速入门

    Mybatis3 快速入门 目前常见的持久层java框架有Hibernate,Mybatis,SpringData.笔者比较喜欢用SpringData.Hibernate 和 Mybatis 也经常用 ...

  6. Minecraft

    描述 Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界. 在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方 ...

  7. 【原创】抓个Firefox的小辫子,围观群众有:Chrome、Edge、IE8-11

    前言 很多人都知道我们在做FineUI控件库,在这 9 年多的时间里,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭标签的问题 ...

  8. jQuery操作input改变value属性值

    今天写了一个表单元素,在用户点击的时候会清空input中的内容,当鼠标点击其他地方的时候会把输入的值保存为input的value值 类似于这样的效果 当用户点击的时候文字消失. html代码 < ...

  9. 在centos上搭建SVN服务器和MySQL

    ----------搭建MySQL--------------- 1.查看yum库中的mysql yum list | grep mysql //查看yum库中的mysql 2.选择需要的mysql进 ...

  10. php数据分页显示基础

    一:分页原理: 所谓分页显示,也就是将数据库中的结果集认为的分成一段一段的来显示,需要两个初始的参数: 每页多少条记录 ($PageSize)? 当前是第几页($CurrentPageID)? 还有其 ...