jQuery学习笔记之入门


Posted in Javascript onDecember 14, 2016

最近在学习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');

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
论坛特效代码收集(落伍转发-不错)
Dec 02 Javascript
Sample script that displays all of the users in a given SQL Server DB
Jun 16 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
May 17 Javascript
JS链式调用的实现方法
Mar 07 Javascript
Express.JS使用详解
Jul 17 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
如何使用Bootstrap创建表单
Mar 29 Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 Javascript
vue基于v-charts封装双向条形图的实现代码
Dec 09 Javascript
Vue使用轮询定时发送请求代码
Aug 10 Javascript
原生小程序封装跑马灯效果
Oct 21 Javascript
Bootstrap轮播图的使用和理解4
Dec 14 #Javascript
12 款 JS 代码测试必备工具(翻译)
Dec 13 #Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 #Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 #Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 #Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 #Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 #Javascript
You might like
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
浅析php-fpm静态和动态执行方式的比较
2016/11/09 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
JS字符串去除连续或全部重复字符的实例
2018/03/08 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
珠宝店促销方案
2014/03/21 职场文书
社团活动总结范文
2014/04/26 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
农业项目投资意向书
2015/05/09 职场文书
简历自我评价范文
2019/04/24 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android
Windows server 2016服务器基本设置
2022/08/14 Servers