jQuery对象

jQuery对象

jQuery对象在有些书中被翻译为“jQuery包装集”,jQuer将一个DOM对象转化为jQuery对象后可以使用jQuery类库提供的各种函数。可以将jQuery对象理解为一个“类”,并且封装了很多方法,而且可以动态地通过加载插件扩展这个类,类似于C#中的分布类(partial class)。

除了jQuery工具函数,jQuery的操作都从jQuery对象开始。比如jQuery对象上有一个修改元素属性的方法:

Attr(key,value)

要使用此函数首先要获取jQuery对象。假设页面上有一个img对象:

<img id=”myphoto” alt=”my photo” src=””>

使用下面的语句修改其src属性:

$(“#myphoto”).atta(“src”,”/pic/1.jpg”);

上面的语句获取了id为”myphoto”的DOM元素(img元素),并且将其转化为jQuery对象,然后使用attr()函数将它的src属性设置为站点根目录下pic文件夹中的“1.jpg”。这个例子中使用了id选择器,jQuery中的选择器十分强大。jQuery选择器获取的的都是jQuery对象。

jQuery对象是一个特殊的集合对象。

即使只有一个元素,jQuery对象仍然是一个集合。说其特殊是因为实际上jQuery对象是包含一个集合对象和各种函数的类,注意这里没有称做是“集合(Array)的扩展”,是因为jQuery并没有扩展Array的原型,因为那会导致所有的Array对象都会成为jQuery对象。可以使用下面的代码验证这一结论:

Var array=new Array();

Array.push(“123”);

Array.push(“456”);

Alert(“Array:”+Object.prototype.toString.call(array));//output:Array:[ojectArray]

Alert(“jQuery Object:”+$(“#myphoto”).toString());输出jQueryObject:[object Object]

因为Array对象重写了object的toString()方法,所以使用上面的方法可以调用Array父类(obj类)的soSting()方法。此技巧可以用来判断一个对象是非为一个集合。在jQuery内部判断是否为集合的isArray()方法就是用的这种实现。


你可能感兴趣的:(JQuery对象)