一.Js原生对象和jQuery实例对象的相互转化:

(1).原生JS对象转JQ对象:

  • $(DOM对象);

(2). JQ对象转原生JS对象:

  • $(DOM对象).get(index); //注意区分eq(index)是jQuery实例对象;
  • 直接下标访问, $(DOM对象)[index];

二.两者操作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); `

 true和false的区别:
true :克隆整个'<p>Hello World.</p>'节点
false:只克隆'<p></p>' ,不克隆文本Hello World.'

3.2 jQuery复制节点

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

注意:克隆节点要避免`ID重复

四、插入节点

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);

注意:oldNode必须是parentEl真实存在的一个子节点

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对象. 反过来也是.

原生JS和jQuery操作DOM的区别小结的更多相关文章

  1. 原生JS与jQuery操作DOM对比

    一.创建元素节点 1.1 原生JS创建元素节点 document.createElement("p"); 1.2 jQuery创建元素节点 $('<p></p&g ...

  2. 原生js与jquery操作iframe

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

  3. 原生js 与 jQuery对比

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

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

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

  5. onload事件与ready事件的区别,原生js与jquery的区别

    onload事件与ready事件分别是原生js与jquery的入口函数 原生js入口函数写法: window.onload=function(){ } jquery入口函数写法: $(document ...

  6. 原生JS和JQuery的区别

    1.原生js和jQuery的入口函数加载模式不同 原生js等页面dom加载完成并且图片等资源也加载完成之后才会执行: jQuery则是等页面dom加载完成执行,不会等图片等资源也加载完成: (也就是说 ...

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

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

  8. jQuery框架-2.jQuery操作DOM节点与jQuery.ajax方法

    一.jQuery操作DOM 内部插入操作: append(content|fn):向每个匹配的元素内部追加内容. prepend(content):向每个匹配的元素内部前置内容. 外部插入操作: af ...

  9. *jquery操作DOM总结 (原创:最全、最系统、实例展示)

    jquery操作DOM包括八个方面: 一:jquery对DOM节点的基本操作:二:jquery对DOM节点的CSS样式操作:三:jquery遍历DOM节点:四:jquery创建DOM节点:五:jque ...

随机推荐

  1. Delphi【异常捕获以及Exe调用方法方法】

    通过测试.exe程序调用dll外部方法,通过dll调用主程序.exe方法实现. Showmessage('进入方法?这里是dll里LoginElecReq');  try  ShellExecute( ...

  2. Android CmakeList

    https://www.cnblogs.com/chenxibobo/p/7678389.html

  3. 在python3里面使用ueditor(基于adminx)

    第一步,下载ueditor,在git上下载 直接download : https://github.com/twz915/DjangoUeditor3/ 然后放到任何一个文件夹里面 配置setting ...

  4. 使用EasyPOI导出excel示例

    package com.mtoliv.sps.controller; import java.io.IOException; import java.io.OutputStream; import j ...

  5. 数据库的数据进行改动,Cognos报表展示未及时更新

    1. 问题描述 手工修改了DB中的测试数据,但是返回报表看,数据还没有更新 2. 问题分析 这是因为Cognos为了查询效率设计了高速缓存的选项 3. 解决方案 方法1:在数据包端禁用高速缓存,那么所 ...

  6. javascript 模板

    今天想记录下对arttemplate模板的使用,哎,其实这玩意的兴起主要还是得从浏览器操作dom说起.如果修改浏览器的某一个dom节点就会引起文档流的重绘,然后这个重绘的耗时相当的大,是昂贵的开销.所 ...

  7. thinkpaidE480office安装文件夹

     C:\Program Files (x86)\Microsoft Office\root\Office16     需要嵌入office的小伙伴自行百度吧教程吧,网上有很多的

  8. 如何练习打字之用英文写文章 & 如何调养右手之用左手握鼠标

    part1:how to practise your typing via writing a English blog it's easy to write english for chinese. ...

  9. week7

    catalog 1.面向对象 2.类的继承(续):直接继承与间接继承 3.类方法.静态方法.属性方法 4.getitem 5.反射 6._new_\_metaclass_ 7.异常处理 1.面向对象 ...

  10. 关于sql注入漏洞的挖掘及渗透工具简介

    大量的现代企业采用Web应用程序与其客户无缝地连接到一起,但由于不正确的编码,造成了许多安全问题.Web应用程序中的漏洞可使黑客获取对敏感信息(如个人数据.登录信息等)的直接访问. Web应用程序准许 ...