jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单,为了说明区别,下面与大家分享下JavaScript 与JQuery 常用方法比较
 
jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单。人家怎么说的来着,jquery就是要用更少的代码,漂亮的完成更多的功能。JavaScript 与JQuery 常用方法比较

1、加载DOM区别

JavaScript: 
window.onload

function first(){ 
alert('first'); 

function second(){ 
alert('second'); 

window.onload = first; 
window.onload = second; 
//只会执行第二个window.onload;不过可以通过以下方法来进行改进: 
window.onload = function(){ 
first(); 
second(); 
}

Jquery: 
$(document).ready()

$(document).ready(){ 
function first(){ 
alert('first'); 

function second(){ 
alert('second'); 

$(document).ready(function(){ 
first(); 

$(document).ready(function(){ 
second(); 

//两条均会执行 
}

2、获取ID

JavaScript: 
document.getElementById('idName')

JQuery: 
$('#idName')

3、获取Class

JavaScript: 
JavaScript没有默认的获取class的方法

JQuery: 
$('.className')

4、获取TagName

JavaScript: 
document.getElementsByTagName('tagName')

JQuery: 
$('tagName')

5、创建对象并加入文档中

JavaScript: 
var para = document.createElement('p'); 
//创建一个p元素 
document.body.appendElement(para); 
//将p元素追加为body的lastchild子节点,如果想将新创建的p元素插入到已存在的某个元素之前,可以使用insertBefore()方法

JQuery:
JQuery提供了4种将新元素插入到已有元素(内部)之前或者之后的方法:append()、appendTo()、prepend()、prependTo()。 
格式:$( html ); 
eg,html代码: 
<p>World!</p> 
$('p').append('<b>Hello!</b>'); 
//输出:<p>World!<b>Hello!</b></p> 
$('<b>Hello!</b>').appendTo('p'); //输出:同上 
$('p').prepend('<b>Hello!</b>'); 
//输出:<p><b>Hello!</b>World! </p> 
$('<b>Hello!</b>').prependTo('p'); 
//输出:同上

6、插入新元素

JavaScript: 
insertBefore() 语法格式: 
parentElement.insertBefore(newElement,targetElement) 
eg, 将一个img元素插入一个段落之前。

html代码: 
<img src="data:image.jpg" id="imgs" /> 
<p>这是一段文字</p>

JavaScript代码: 
var imgs = document.getElementById('imgs'); 
var para = document.getElementsByTag('p'); 
para.parenetNode.insertBefore(imgs,para);

JQuery: 
JQuery提供了4种将新元素插入到已有元素(外部)之前或者之后的方法:after()、insertAfter()、before()、insertBefore()。 
格式:$( html ); 
eg,html代码: 
<p>World!</p>

JQuery代码 
$('p').after('<b>Hello!</b>'); 
//输出:<p>World! </p><b>Hello!</b> 
$('<b>Hello!</b>'). insertAfter ('p'); 
//输出:同上 
$('p').before('<b>Hello!</b>'); 
//输出:<b>Hello!</b><p>World! </p> 
$('<b>Hello!</b>').insertBefore('p'); 
//输出:同上

7、复制节点

JavaScript: 
reference = node.cloneNode(deep) 
这个方法只有一个布尔型的参数,它的可取值只能是true或者false。该参数决定是否把被复制节点的子节点也一同复制到新建节点里去。

JQuery: 
clone() //复制节点后,被复制的新元素并不具有任何行为 
clone(true) //复制节点内容及其绑定的事件 
备注:该方法通常与appendTo()、prependTo()等方法结合使用。

8、删除节点

JavaScript: 
reference = element.removeChild(node) 
removeChild()方法将一个给定元素里删除一个子节点

JQuery: 
remove(); 
remove()方法作用就是从DOM中删除所有匹配的元素,remove()方法还可以与其他的过滤选择器结合使用,非常方便。 
eg,将ul li下的title不是"Hello"的li移除: 
$('ul li').remove(li[title!='Hello']); 
empty(); 
empty()方法作用是清空节点。

9、包裹节点

JavaScript: 
JavaScript暂无

JQuery: 
wrap() //将匹配元素用其他元素的结构化标记单独包裹起来 
wrapAll() //将所有匹配的元素用一个元素包裹起来 
wrapInner() //将匹配元素的子内容用其他结构化的标记包裹起来

10、属性操作:设置属性节点、查找属性节点

JavaScript: 
document.getElementsByTagName('tagName')

JQuery: 
JQuery中设置和查找属性节点都是:attr() 。 
$('p').attr('title'); //获取p元素的title属性; 
$('p').attr('title','My title'); //设置p元素的title属性 
$('p').attr('title':'My title','class':'myClass'); //当需要添加多个属性时,可以用"名:值"对的形式,中间用逗号隔开。

11、替换节点

JavaScript: 
reference = element.replaceChild(newChild,oldChild) 
该方法是将一个给定父元素里的一个子节点替换为另外一个节点。

JQuery: 
replaceWith()、replaceAll() 
eg: 
<p>hello</p> 
想替换为: 
<h2>Hi</h2>

JQuery代码: 
$('p') .replaceWith('<h2>Hi</h2>'); 
或者可以写成: 
$('<h2>Hi</h2>').replaceAll('p');

12、CSS-DOM操作

JavaScript: 
格式:element.style.property 
CSS-DOM能够读取和设置style对象的属性,其不足之处是无法通过它来提取外部CSS设置的样式信息,而JQuery的.css()方法是可以的。 
注意点:CSS中的如"font-size"这样有"-"的,要使用首字母小写的驼峰式表示,如fontSize。

JQuery: 
格式:$(selector).css() 
css()方法获取元素的样式属性 
此外,JQuery还提供了height()和width()分别用来获取元素的高度和宽度(均不带单位),而css(height)、css(width)返回高宽,且带单位。

JQuery和JavaScript常用方法的一些区别的更多相关文章

  1. JQuery笔记:JQuery和JavaScript的联系与区别

    来源:http://www.ido321.com/1019.html ps:LZ觉得这个标题有点大了,超出了能力范围,不喜勿碰.目前只记录LZ能力范围内的,日后持续补充. 一.JQuery对象和DOM ...

  2. JQuery 和JavaScript的区别

    Google提供的jquery包: http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js jQuery官方的jquery包: ...

  3. jQuery 是javascript的一个库(常用插件、处理器)

    jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery就是javascript的一个库,把我 ...

  4. JQuery对象与DOM对象的区别与转换

      1.jQuery对象和DOM对象的区别 DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj ...

  5. jQuery中.attr()和.prop()的区别

    之前学习jQuery的时候,学习到了两种取得标签的属性值的方法:一种是elemJobj.attr(),另一种是elemJobj.prop().而在学习JS的时候,只有一种方法elemObj.getAt ...

  6. jQuery学习-----(二)JQuery对象与DOM对象的区别与转换

    1.jQuery对象和DOM对象的区别 DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj = ...

  7. 【二】jquery之基础概念与jquery对象与dom对象的区别及混合使用

    一:jquery基本概念 1.jquery是一个javascript框架,它是一个轻量级的js库 2.当下流行的js库有: jquery MooTools Prototype 3.$(ducoment ...

  8. Jquery中.attr()和.data()的区别

    $.attr()和$.data()本质上属于DOM属性和Jquery对象属性的区别. 一个简单的例子 <!DOCTYPE html> <html> <head> & ...

  9. jQuery中first-child与first选择器区别

    1.first-child first-child为每个父级元素匹配第一个子元素,可以匹配出多个元素: 示例代码: <!DOCTYPE html> <html lang=" ...

随机推荐

  1. Delphi exe实例之间传递cmd参数

    {Unit1.pas} 通过这个单元的Button,调用另一个实例: procedure TForm1.Button1Click(Sender: TObject); begin ShellExecut ...

  2. 牛客多校第九场 D Knapsack Cryptosystem 背包

    题意: 给你32个物品,给定一个容积,让你恰好把这个背包装满,求出装满的方案 题解: 暴力计算的话,复杂度$2^{32}$肯定会炸,考虑一种类似bsgs的算法,先用$2^{16}$的时间遍历前一半物品 ...

  3. hdu多校第五场1005 (hdu6628) permutation 1 排列/康托展开/暴力

    题意: 定义一个排列的差分为后一项减前一项之差构成的数列,求对于n个数的排列,差分的字典序第k小的那个,n<=20,k<=1e4. 题解: 暴力打表找一遍规律,会发现,对于n个数的排列,如 ...

  4. spring boot jpa没有自动生成表的原因——加上@Entity

    别人的项目弄了好久,竟然是忘记加注解,当然配置文件还是要配置jpa的,pom也要依赖jpa. @Entity jpa: hibernate: ddl-auto: update show-sql: tr ...

  5. GPIO, AFIO

    o read/write the AFIO_EVCR, AFIO_MAPR and AFIO_EXTICRX registers, the AFIO clock should first be ena ...

  6. access数据库调用

    1.工程环境配置(vs+qt) 点击项目,右键,选择项目设置,选择SQL 2.获取自己数据库的驱动版本有哪些,如下代码所示: QStringList drivers = QSqlDatabase::d ...

  7. solr 如何实现精确查询

    第一条和第三条不应该出现的. 解决办法

  8. springboot项目中使用设计模式一策略模式

    策略模式: 使用常用,支付,之前做了微信支付,支付宝支付,然后另外一个同事写了一个银联支付,那么如果代码方法一起就会导致代码不是很好操作所以,采用策略模式进行,同事只需要写一个实现类,就可以了, 在协 ...

  9. 在MRC模式下使用SDWebImage

    在MRC模式下使用SDWebImage (1)在Target->Build Phases->Compile Sources中,给所有的SDWebImage添加-fobjc-arc (2)添 ...

  10. ExecutorService线程池submit的使用

    有关线程池ExecutorService,只谈submit的使用 可创建的类型如下: private static ExecutorService pool = Executors.newFixedT ...