jQuery中$()函数的7种用法汇总
前言
jQuery对象是一个类数组的对象,含有连续的整形属性以及一系列的jQuery方法。它把所有的操作都包装在一个jQuery()函数中,形成了统一(也是惟一)的操作入口。
其中我们用的非常频繁的一个函数是$()或者说是jQuery(),当我们调用他的时候会根据传入的参数的不同而达到不同的效果。
接下来会一一说一下这7中用法,欢迎大家指正其中不正确的地方。
1 jQuery(selector,context)
简要的说是:接收一个css选择器表达式(selector)和可选的选择器上下文(context),返回一个包含了匹配的DOM元素的jQuery对象。
默认情况下,对匹配元素的查找都是从根元素ducument对象开始,也就是说查找范围是整棵文档树。但是如果给定了上下文context,则在指定上下文中查找
<span>body span</span>
<span>body span</span>
<span>body span</span>
<div class="wrap">
<span>wrap span</span>
<span>wrap span</span>
<span>wrap span</span>
$('span').css('background-color','red');//所有的span都会变红
$('span','.wrap').css('background-color','red');//只有.wrap中的span会变红
2 jQuery(html,ownerDocument) 、jQuery(html,props)
用所提供的html代码创建DOM元素
对于jQuery(html,ownerDocument),参数html可以是单标签或者是多层标签之间的嵌套。第二个参数用于创建新DOM元素的文档对象,如果不传入则默认为当前的文档对象。
//单标签 两种方式都可以往body中插入div
* 1 $('<div>').appendTo('body');
* 2 $('<div></div>').appendTo('body');
// 多标签嵌套
$('<div><span>dfsg</span></div>').appendTo('body');
另外:对于单标签,jQuery(html,props),props是一个包含属性和事件的普通的对象,用法如下。(该用法有待考证,请知道这一用法的童鞋告知一下,感激不尽)
$('<div>我是div</div>',{
title:'我是新的div',
click:function(){
$(this).css('color','red');
console.log(this);
}).appendTo('body');
3 jQuery(element or elementsArray)
如果传入一个DOM元素或者是DOM元素的数组,则把DOM元素封装到jQuery对象中并返回。
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
// 传入DOM元素
$('li').each(function(index,ele){
$(ele).on('click',function(){
$(this).css('background','red');//这里的DOM元素就是this
//传入DOM数组
var aLi=document.getElementsByTagName('li');
aLi=[].slice.call(aLi);//集合转数组
var $aLi=$(aLi);
$aLi.html('我是jQuery对象');//所有的li的内容都变成'我是jQuery对象'
4 jQuery(object)
如果传入的是一个object对象,则把该对象封装到jQuery对象中并返回。
var obj={name:'谦龙'};
var $obj=$(obj);//封装成jQuery对象
//绑定自定义事件
$obj.on('say',function(){
console.log(this.name)//输出谦龙
$obj.trigger('say');
5 jQuery(callback)
当传进去的参数是函数的时候,则在document对象上绑定一个ready事件监听函数,当DOM结构加载完成的时候执行
$(function(){
//以上代码和下面的效果是一样的
$(document).ready(function(){
...//代码
6 jQuery(jQuery object)
当传进去的参数是一个jQuery对象的时候,则创建该jQuery对象的一个副本并返回。副本与传入的jQuery对象引用完全相同的元素
var aLi=$('li');
var copyLi=$(aLi);//创建一个aLi的副本
console.log(aLi);
console.log(copyLi);
console.log(copyLi===aLi);
7 jQuery()
如果不传入任何的参数,则返回一个空的jQuery对象,属性length为0
注意这个功能可以用来复用jQuery对象,例如可以创建一个空的jQuery对象,然后在需要的时候先手动修改其中的元素,然后在调用jQuery方法。从而避免重复创建jQuery对象。
作者:weixin_33981932
来源:CSDN
分类
已于2020-9-23 11:35:04修改
收藏
回复
删除帖子
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源
去关联
添加资源
相关推荐
-
Java
中
的
两
种
BIO
lingyuli
• 4538浏览
• 0回复
-
Flutter
中
渐变
的
高级
用法
jowvid
• 8101浏览
• 0回复
-
调试鸿蒙App源代码
的
两
种
方式
蒙娜丽宁
• 1.5w浏览
• 4回复
-
【答疑
汇总
】HarmonyOS分布式技术实现
的
影音多设备实时共享
夏曹俊
• 1.6w浏览
• 5回复
-
【答疑
汇总
】HarmonyOS组件
的
分布式适配和应用畅想
董昱
• 1.5w浏览
• 5回复
-
【资料
汇总
】鸿蒙技术社区精品资料
汇总
贴--建议收藏
Whyalone
• 3.1w浏览
• 6回复
-
【答疑
汇总
】多设备共享涂鸦画板
的
鸿蒙实现方法
charjedu
• 1.1w浏览
• 1回复
-
js开发13 animation动画组件&鸿蒙
的
定时
函数
和js
的
动画
noutsider
• 1.6w浏览
• 6回复
-
【答疑
汇总
】鸿蒙开发之JS与Java
的
混合使用与交互
charjedu
• 1.1w浏览
• 4回复
-
6月2日已曝光信息
汇总
,再加上一车爆料,测试你悟性
的
时候到了
开源基础软件社区官方
• 1.9w浏览
• 19回复
-
7
月30日-
7
月31日,HarmonyOS 开发者日杭州站来啦!
开源基础软件社区官方
• 2.2w浏览
• 22回复
-
【
中
软国际】ActiveData在HarmonyOS
中
的
原理分析和运用
中软HOS小鸿
• 1.3w浏览
• 28回复
-
HarmonyOS基础之Fraction
用法
介绍
中软国际AIoT开发者社区
• 1.1w浏览
• 0回复
-
一
种
简单
的
OpenHarmony开发环境搭建
连志安
• 1.2w浏览
• 2回复
-
定位模块之getAddressesFromLocation
函数
解析
挖墙脚的农民工
• 4084浏览
• 2回复
-
#轻聊-有奖讨论#
7
月闲谈:兵荒马乱毕业季
的
故事!
开源活动小助手
• 5780浏览
• 35回复
-
#轻聊#
7
月闲谈:兵荒马乱毕业季
的
故事!第一份工作你干了多久?
Luxiaoyuyuyu
• 5976浏览
• 27回复
-
#冲刺创作新星# [五]OpenHarmony
的
4
种
编译方法
左翼风发
• 6353浏览
• 8回复
-
我有
7
种
实现web实时消息推送
的
方案,
7
种
!
heatdog
• 1283浏览
• 0回复
帖子
视频
声望
粉丝
关注
最近发布
-
鸿蒙OS的系统调用是如何实现的? | 解读鸿蒙源码
2020-11-26 14:52:05发布
-
进程和线程的区别(操作系统级别解析)
2020-09-27 16:16:48发布