jQuery 核心函数以及jQuery对象


Posted in Javascript onMarch 23, 2010

一、jQuery 核心函数

首先介绍 jQuery 的几个核心函数,在 jQuery 中它们起着至关重要的作用,在实际的前端开发过程中用到最多的也是它们。
1、jQuery(elements)

将一个或多个DOM元素转化为jQuery对象。

这个函数也可以接收XML文档和Window对象(虽然它们不是DOM元素)作为有效的参数。

返回值:jQuery 对象

参数

elements:

用于封装成 jQuery 对象的 DOM 元素

// 将当前页面的背景色设为黑色 
jQuery(document.body).css( "background-color", "black" ); 
再看以下代码 
// 将当前页面的背景色设为黑色 
$(document.body).css( "background-color", "black" ); 

代码也可以正常运行,并且执行的效果跟前面的代码一致;那么这儿的 $ 和前面的 jQuery 标识符到底有什么关系呢? 

打开 jQuery 的源文件 jquery-1.3.2.js 发现以下代码 
jQuery = window.jQuery = window.$ = function( selector, context ) { 
// The jQuery object is actually just the init constructor 'enhanced' 
return new jQuery.fn.init( selector, context ); 
}

原来 $ 与 jQuery 代表的是 jQuery 框架中同一个 function,使用 jQuery 和 $ 的效果是一样的;实际上 jQuery 框架中采用 $ 来作为 jQuery 方法的一个别名(更易于使用),由于担心 $ 与其它 javascript 框架(比如 asp.net ajax)甚至个人代码中的 $ 标识符产生冲突,也可以通过 jQuery.noConflict() 函数来移除 $ 与 jQuery 函数的关联,这样 $ 就不代表 jQuery 方法了,而是代表那个原始的 $ 对象了。
2、jQuery(expression,[context])

这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素。

jQuery 的核心功能都是通过这个函数实现的。 jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个表达式(通常由 CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。

返回值:jQuery 对象

参数

expression:

 用来查找 DOM 元素的字符串

context:

(可选) 作为待查找的 DOM 元素集、文档或 jQuery 对象,用于限定查找范围

// 查找所有 DIV 元素下的 A 元素 
$("div > a");

3、jQuery(html)

根据 HTML 字符串,动态创建由 jQuery 对象包装的 DOM 元素。

返回值:jQuery 对象

参数

html:

用于创建 DOM 元素的 HTML 字符串

// 将一个 jquery.com 的超链接元素加到页面主体元素中 
$("<a href=http://jquery.com/>jquery.com</a>").appendTo("body");

二、jQuery 对象

jQuery 核心函数的返回值都是一个 jQuery 对象,通过对 jQuery 对象进行操作,可以完成 javascript 编程中的大部分任务;那么这个 jQuery 对象到底是一个什么对象呢?
jQuery 核心函数以及jQuery对象
通过 doc[0]、doc[1] 可以分别取出一个 DOM 对象,其它的则是一些 jQuery 对象特有的属性和方法;实际上 jQuery 对象包装了 DOM 对象,同时还包含了一些操作 DOM 元素的 jQuery 方法。

在使用 jQuery 的过程中,大部分情况下第一步工作同时也是最重要的一步工作,就是取得包装了要操作 DOM 对象的 jQuery 对象;然后通过调用取得的 jQuery 对象的方法来完成对 DOM 对象的操作。

Javascript 相关文章推荐
jquery $(this).attr $(this).val方法使用介绍
Oct 08 Javascript
对于Form表单reset方法的新认识
Mar 05 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
Feb 25 Javascript
JavaScript的==运算详解
Jul 20 Javascript
正则表达式,替换所有HTML标签的简单实例
Nov 28 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
Feb 12 Javascript
jQuery+pjax简单示例汇总
Apr 21 jQuery
vue之数据交互实例代码
Jun 16 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
May 29 Javascript
详解用async/await来处理异步
Aug 28 Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 jQuery
jquery easyui的tabs使用时的问题
Mar 23 #Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
Mar 23 #Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
Mar 23 #Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 #Javascript
javascript 多浏览器 事件大全
Mar 23 #Javascript
jQuery $.each的用法说明
Mar 22 #Javascript
javascript 用原型继承来实现对象系统
Mar 22 #Javascript
You might like
一个查看session内容的函数
2006/10/09 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
详解Webpack实战之构建 Electron 应用
2017/12/25 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
pygame播放音乐的方法
2015/05/19 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
对Python3中的input函数详解
2018/04/22 Python
python matlibplot绘制3D图形
2018/07/02 Python
Python装饰器简单用法实例小结
2018/12/03 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
2014年道德讲堂实施方案
2014/03/05 职场文书
文化产业实施方案
2014/06/07 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
2014年学前班工作总结
2014/12/08 职场文书
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers