jQuery把所有的操作都包装在一个jQuery()函数中,形成了统一(也是惟一)的操作入口,这为jQuery操作了门槛。那我们来看下具体构造函数的“七种武器”吧。

一:$(selectorStr[,限制范围]),接受一个选择器(符合jQuery规范的字符串),返回一个jQuery对象;


 //$(selector[,限制范围])
$(".guo").click(function () {//这里没有context参数
$("a.aguo", this).css({"color":"red"});//this就是context参数,用于限定范围
});

二:$(htmlStr[,文档对象]),$(html[,json对象])传入html字符串,创建一个新的dom元素

当传入的是字符串的时候,构造函数会判断是选择器字符串还是html字符串.,
如果是选择器字符串:则遍历dom,查找与之匹配的元素,如果没有匹配元素,
会返回一个空的jQuery对象;否则会将这些匹配到的元素创建一个对一个jQuery对象.


 //$(htmlStr[,文档对象])
$("<div>大家好</div>").append("body"); //简单标签:不带子节点

三:$(dom元素),$(dom元素集合)将dom元素转换成jQuery对象.

jQuery构造函数会使用js的原生态方法document.createElement()创建一个dom节点


 $("<div><a>大家好</a></div>").append("body"); //复杂标签:含有子节点.

四:$(自定义对象)封装普通对象为jQuery对象.

jQuery会使用文档碎片buildFragment()的方法将所有子节点一次性的全部插入到[,文档对象]中,如果这里不指定的话,就是document; $(html[,json对象]) 

当html是简单标签时,那么她的第二个参数可以是一个json对象,包含了这个dom元素的属性或事件.


 //$(html[,json对象])
  $("<div></div>", {
"class": "gys", //因为class是js的关键字,所以要加引号
text: "大家好",
click: function () { alert("点嘛"); }
}).append("body");

五:$(回调函数)绑定ready事件监听函数,当Dom加载完成时执行.

$(element)或者$(elements)

传入一个dom对象或者一组dom对象集合


 ("div.guo").click(function () {
$(this).slideUp();
});

六:$(jQuery对象)接受一个jQuery对象,返回一个jQuery对象的拷贝副本

$(object);

传入一个普通的对象


 var obj = { name: "guo", age: 24 };
 var $obj = $(obj);
 $obj.on("guo", function () {
  alert("出发了一个自定义的事件");
 });
 $obj.trigger("guo");

七:$()创建一个空jQuery对象.

$(callback)传入一个函数


 $(function () { })

这个表示在Dom加载完毕后执行函数中的.

$(jQuery Object);

传入一个jQuery对象,则创建该jQuery对象的一个副本并返回,副本与传入的jQuery对象引用完全相同的Dom对象.

最新资讯
杨振宁:未来科学大奖要设永久基金是极有远见的

杨振宁:未来科学大奖要

杨振宁表示,19世纪的末年,在瑞典设立了诺贝尔奖,这是非常
王贻芳:捐出未来科学大奖奖金建立大型对撞机基金

王贻芳:捐出未来科学大

2019未来科学大奖颁奖典礼今日在北京中国大饭店举行。
张磊:我们要在年轻人心中撒下“异想天开”的种子

张磊:我们要在年轻人心

11月17日下午消息,在2019未来科学大奖颁奖礼现场,未来
马云举办非洲版“赢在中国”:50多国家1万企业家报名

马云举办非洲版“赢在

当地时间11月16日晚间,马云非洲创业者大赛在加纳举办决
YC中国路演日陆奇再谈创业:需要更为技术驱动的生态

YC中国路演日陆奇再谈

YC中国今日举办首届路演日,其创始人兼CEO陆奇做开场演
比尔·盖茨超越贝佐斯 时隔两年重新登顶世界首富

比尔·盖茨超越贝佐斯

外媒近日报道称,美国微软公司人比尔·盖茨目前净资产达
最新文章
微信小程序调用天气接口并且渲染在页面过程详解

微信小程序调用天气接

这篇文章主要介绍了微信小程序调用天气接口并且渲染在
Electron + vue 打包桌面操作流程详解

Electron + vue 打包

这篇文章主要介绍了Electron + vue 打包桌面操作流程,
前端Vue项目详解--初始化及导航栏

前端Vue项目详解--初

这篇文章主要介绍了前端Vue项目详解--初始化及导航栏,
ES6 Object方法扩展的应用实例分析

ES6 Object方法扩展的

这篇文章主要介绍了ES6 Object方法扩展的应用,结合实
JS实现给数组对象排序的方法分析

JS实现给数组对象排序

这篇文章主要介绍了JS实现给数组对象排序的方法,结合
基于vue+axios+lrz.js微信端图片压缩上传方法

基于vue+axios+lrz.js

这篇文章主要介绍了基于vue+axios+lrz.js微信端图片压