最近在学习jQuery,在网上看到有几篇关于jQuery的文章,写的不错转载过来跟大家分享一下;
一、JQuery是什么
JQuery是什么?始终是萦绕在我心中的一个问题:
借鉴网上同学们的总结,可以从以下几个方面观察。
不使用JQuery时获取DOM文本的操作如下:
document.getElementById('info').value = 'Hello World!';
使用JQuery时获取DOM文本操作如下:
$('#info').val('Hello World!');
嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开发人员更加专注于逻辑本身。
二、JQuery能做什么
jQuery使用户能更方便地处理HTML、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery库包含以下功能:HTML元素选取、HTML元素操作、CSS操作、HTML事件函数、JavaScript特效和动画、HTML|DOM遍历和修改、AJAX、Utilities。
jQuery使用户方便快捷获取DOM元素、动态修改页面样式、动态改变DOM内容、响应用户的交互操作、为页面添加动态效果、统一Ajax操作、简化常见的JavaScript任务。
上述是对JQuery比较中肯的评价,节选其中的关键字可以粗略的观察到:
方便的选取DOM元素,操作DOM元素。(HTML元素选取、HTML元素操作、获取DOM元素、动态修改页面样式、动态改变DOM内容)
响应用户操作。(HTML事件函数、JavaScript特效和动画、响应用户的交互操作、为页面添加动态效果)
简化AJAX操作。(方便地为网站提供AJAX交互、统一Ajax操作)
即:方便DOM的选取和操作、响应用户操作、简化AJax操作。
三、DOM是什么
上述提到了DOM元素,不了解,查阅总结如下:
DOM 全称是 Document Object Model,是文档对象模型。
通过DOM元素,可以方便的操作HTML中的节点,比如获取节点的内容,添加某些元素,删除某些元素。
也就是说,DOM元素和HTML息息相关,它将HTML中的一个个标签封装成DOM元素,以便于JavaScript进行操作。
<html> <body> <div id="info"> <p>Test</p> </div> <script> window.onload = function(){ document.getElementById("info").innerHTML="success"; } </script> </body> </html>
其中document.getElementById("info")就是将id为info的标签封装成为一个DOM元素,接下来便可以方便的操作这个DOM对象,例如修改它的文本内容等等。
四、JQuery与DOM之间的关系
JQuery对象与DOM对象之间有什么区别?
先了解什么是JQuery对象:
JQuery对象就是用JQuery包装DOM之后产生的对象。JQuery对象是JQuery独有的,可以使用JQuery的各种方法。
$("#test").html();
意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 。
这段代码的作用等同于用DOM实现代码:
document.getElementById("id").innerHTML;
虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法。
还需要注意一点的是:
用#id作为选择器获取得的是jQuery对象,document.getElementById("id")得到的DOM对象,这两者并不等价。
另外,JQuery对象与DOM对象之间可以互相转换。
JQuery对象 -> DOM对象
两种转换方式将一个JQuery对象转换成DOM对象:[index]和.get(index);
jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
var v1 = $("#test") ; //jQuery对象 var v2 = $v1[0]; //DOM对象
通过.get(index)方法,得到相应的DOM对象。
var v1 = $("#test"); //jQuery对象 var v2 = v1.get(0); //DOM对象
DOM对象 -> JQuery对象
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。如$(document.getElementById("test"))
var v1=document.getElementById("test"); //DOM对象 var v2=$(v1); //jQuery对象
DOM对象转换为JQuery对象之后就可以使用JQuery的方法了。
需要再次强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。
五、JQuery中的“$”有什么作用
这个问题解决之后,还有一个疑问:我们经常在JQuery看见$('div')、$('#id')、$('.class')等类似的代码。那么其中的"$"究竟有什么作用呢?
$其实就是jQuery的别称。是jQuery提供的一个函数,用来将DOM元素、选择器包装成jQuery对象。
var v1 = $('#id'); var v2 = jQuery('#id');
以上两者是等同的。
所以"$"其实是一个符号,$()代替了jQuery(),当然你也可以使用其他的字符来代替"$"
var jq = jQuery.noConflict(); var v1 = jq('#id'); // 等同于var v1 = $('#id');
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]