New or Changed in 1.4
jquery1.4 与 1.3.2的 区别与更新
jquery1.4 新特性
英文原版地址
http://api.jquery.com/category/version/1.4/
中文文档
http://jquery-api-zh-cn.googlecode.com/svn/trunk/xml/jqueryapi.xml
——————————————————————–
.add( selector, context )
返回jquery对象
add可以像 $()一样使用。将add的选择结果 和 $()和之前的选择结果连接起来使用。
——————————————————————–
.addClass (function(index,class))
返回jquery对象
index是 被选择的对象的索引
class是 被选择的对象的旧的class
addClass 可以用方法的返回值作为 被选择对象的class
$(’ul li:last’).addClass(function() {
return ‘item-’ + $(this).index();
});
——————————————————————–
.after( function )
返回jquery对象
可以将一个函数返回的html的 字符串 插到每一个被选择对象的后面
——————————————————————–
.append( function(index, html) )
返回jquery对象
一个返回HTML 字符串的函数被灌入到每一个被选中 对象的后面。接受的索引的位置是 被选择对象的索引。
这个 html也是 被选择对象的 html
——————————————————————–
.before( function )
返回jquery对象
可以将一个函数返回的html的 字符串 插到每一个被选择对象的前面
——————————————————————–
.bind( events )
返回jquery对象
支持一个 或者 多个 javascript事件 或者 方法去执行。
$(’#foo).bind({
click: function() {
// do something on click
},
mouseenter: function() {
// do something on mouseenter
}
});
$(’#foo’).bind(’mouseenter mouseleave’, function() {
$(this).toggleClass(’entered’);
});
——————————————————————–
.clearQueue( [ queueName ] )
返回jquery对象
删除一个队列还没执行的项
——————————————————————–
closest( selectors, [ context ] )
返回jquery对象
从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素
selector 一个字符串包含一个选择表达式匹配的元素。
context 一个 DOM元素
返回一个数组
var close = $(”li:first”).closest(["ul", "body"]);
——————————————————————–
jQuery.contains( container, contained )
返回一个 布尔型
判断前一个dom元素是否 在 后一个dom元素内部
——————————————————————–
.css( propertyName, function(index, value) )
function 一个返回 value的函数
index是 当前被选择对象的索引,value是当前被选择对象之前的css
$(”div”).click(function() {
$(this).css({
width: function(index, value) {
return parseFloat(value) * 1.2;
},
height: function(index, value) {
return parseFloat(value) * 1.2;
}
});
});
——————————————————————–
.data( obj )
可以设置一个key-value形式的对象
$(’body’).data({one: 1, two: 2});
.data(key)
返回存储在这个元素上的值
如果没有参数的话 用javascript对象的形式返回所有值、
——————————————————————–
jQuery.data(element)
返回jquery对象
可以获取 element元素上存储的数据
是.data 的底层方法。
——————————————————————–
.delay( duration, [ queueName ] )
返回一个 jquery对象
设置一个计时器 去延时执行 队列中(动画)随后执行的项
duration 延时的毫秒数
queueName 队列的名称
——————————————————————–
.detach( [ selector ] )
返回jquery对象、
.detach() 和 .remove()类似,除了.detach()会保留被删除对象的所有jquery数据
这个方法在 当 被删除对象 过一段时间会被重新 加入回dom中 时使用。
——————————————————————–
.focusin( handler(eventObject) )
返回jquery对象
绑定 focusin方法到 被选择的对象上
当元素获取到 焦点的时候 激活
——————————————————————–
.focusout( handler(eventObject) )
返回jquery对象
绑定 focusout方法到 被选择的对象上
当元素失去 焦点的时候激活
——————————————————————–
.has( selector )
返回jquery对象
检查 一个dom节点 或者 用选择器选择到的dom元素 在另一个dom节点中
selector 这个选择器去运行 看 被选择的元素 是否 包含 一个 符合selector的 dom元素
.has( contained )
contained 这个dom节点 被 选择器所包含
和find的区别是
$(”div”).has(”p”) 选择到的是divs $(”div”).find(”p”)选择到的是 p
——————————————————————–
.html( function(index, html) )
返回jquery对象
一个返回html 字符串的 函数 被赋值到 被选择的元素上
index是 被选择元素的索引
html 是 被选择元素旧的html值
——————————————————————–
.index( )
返回一个数字 Number型
如果没有参数 返回值是一个数值 标致着他的位置 和他的兄弟元素比较起来
.index( selector )
selector 是 选择器
返回值是一个数值 标致这 被选择元素 在 后一个选择器选择的元素的 的位置
——————————————————————–
jQuery.isEmptyObject( object )
返回一个 布尔型
判断 object是否为空
jQuery.isEmptyObject({}) // true
jQuery.isEmptyObject({ foo: “bar” }) // false
——————————————————————–
jQuery.isPlainObject( object )
返回一个 布尔型
判断是否是一个对象
jQuery.isPlainObject({}) // true
jQuery.isPlainObject(”test”) // false
——————————————————————–
jQuery()
返回jquery对象
如果没有参数传入,一个空的jquery对象会被返回
在之前的jquery版本中 一个空的jquery对象 是不会被返回的
——————————————————————–
.nextUntil( [ selector ] )
返回jquery对象
获取 在他本身之后的 他的同级兄弟元素 到 符合了selector选择器的对象为止。但是不包含 被匹配的那个 对象。
他和nextAll很像。当 他没有参数传进来的时候。
——————————————————————–
jQuery.noop
返回一个function
你可以使用这个空函数当你想传递一个函数,它将什么也不做。
——————————————————————–
.offset( coordinates )
返回一个object
可以设置 所选对象的 偏移量
coordinates 偏移量{ top: 10, left: 30 }
.offset( coordinates(index, coords) )
coordinates(index, coords) 是一个返回 符合coordinates 格式的函数
index是 被选择对象的索引值 ,coords是 被选择对象之前的 偏移量
——————————————————————–
jQuery.param( obj, traditional )
返回一个string 字符串
对obj执行序列化。
traditional 是一个布尔型,判断是否去执行一个shallow 序列化(是否递归)
var myObject = {
a: {
one: 1,
two: 2,
three: 3
},
b: [1,2,3]
};
var shallowEncoded = $.param(myObject, true);
var shallowDecoded = decodeURIComponent(shallowEncoded);
var recursiveEncoded = $.param(myObject);
var recursiveDecoded = decodeURIComponent($.param(myObject));
alert(recursiveEncoded);
alert(recursiveDecoded);
a%5Bone%5D=1&a%5Btwo%5D=2&a%5Bthree%5D=3&b%5B%5D=1&b%5B%5D=2&b%5B%5D=3
a[one]=1&a[two]=2&a[three]=3&b[]=1&b[]=2&b[]=3
alert(shallowEncoded);
alert(shallowDecoded);
a=%5Bobject+Object%5D&b=1&b=2&b=3
a=[object+Object]&b=1&b=2&b=3
——————————————————————–
.parentsUntil(selector)
返回jquery对象
与.nextUntil 类似 从当前元素的父亲开始 到 符合selector 选择器的对象为止 。但是不包含 被匹配的那个 对象。
——————————————————————–
.prepend( function(index, html) )
返回jquery对象
向每个匹配的元素内部前置 函数返回的html。
index是 被选择元素的索引
html 是 被选择元素旧的html值
——————————————————————–
.prevUntil( [ selector ] )
返回jquery对象
与.nextUntil 类似 从当前元素的前一个兄弟 到 符合selector 选择器的对象为止 。但是不包含 被匹配的那个 对象。
——————————————————————–
jQuery.proxy( function, scope )
返回一个function 函数
用于去执行一个对象内部的方法
function 是 一个被改变作用域的函数
scope 是 要改变到的作用域
jQuery.proxy( scope, name )
scope 是 要改变到的作用域
name 是 作用域中的函数名
var obj = { name: “John”, test: function() { alert( this.name ); $(”#test”).unbind(”click”, obj.test); } }; $(”#test”).click( jQuery.proxy( obj, “test” ) );
// This also works:
// $(”#test”).click( jQuery.proxy( obj.test, obj ) );
就是 用obj代理 this 这样可以替代 所访问对象的this 指针否则绑定 function test() this是 #test。
This method is most useful for attaching event handlers to an element where the scope is pointing back to a different object. Additionally, jQuery makes sure that even if you bind the function returned from jQuery.proxy() it will still unbind the correct function, if passed the original.
这种方法是最有用的附加事件处理程序,这个作用域(this)是指回一个不同的对象。
——————————————————————–
.removeAttr: function( name, fn )
this.each(function(){
jQuery.attr( this, name, “” );
if ( this.nodeType === 1 ) {
this.removeAttribute( name );
}
没有什么改变
——————————————————————–
.removeClass( function(index, class) )
返回jquery对象
index是 被选择的对象的索引
class是 被选择的对象的旧的class
用于删除 被选择对象的class
——————————————————————–
.replaceWith(function)
返回jquery对象
支持 用一个函数作为参数
将所有匹配的元素替换成函数返回 的HTML字符串。
——————————————————————–
.text( function(index, text) )
返回jquery对象
将函数返回的text以文本形式赋值给 被选择对象。这个方法对HTML和XML文档都有效。
index是 被选择的对象的索引
text是 被选择的对象的旧的text
——————————————————————–
.toArray()
返回一个 Array 数组
返回一个所有的匹配的dom节点组成的数组
[
,
]
——————————————————————–
.toggleClass( function(index, class), [ switch ] )
返回jquery对象
function返回一个要切换的class的名称
index是 被选择的对象的索引
class是 被选择的对象的旧的class
如果已经有该class就去掉,如果没有 就加上
swtich 是 如果 为真 才 进行 切换
swtich可以是 一个表达式
每点击三下加上一次 ’selected’ 类
$(this).toggleClass(fucntion(){return “highlight”;}, count++ % 3 == 0);
——————————————————————–
.unwrap()
返回jquery对象
和wrap相反。
将选择到的对象的父亲 结构删除(但不删除自己和兄弟以及所有后代)
——————————————————————–
.val( function )
返回jquery对象
将function的返回值 赋值给每一个匹配元素
——————————————————————–
.wrap( wrappingFunction )
返回jquery对象
用wrappingFunction返回的 一个dom结构来包含 被选择到的对象
——————————————————————–
.wrapAll( wrappingElement )
返回jquery对象
没有什么改变
将所有匹配的元素用单个元素包裹起来
这与 ‘.wrap()’ 是不同的,’.wrap()’为每一个匹配的元素都包裹一次。
——————————————————————–
.wrapInner( wrappingFunction )
返回jquery对象
将每一个匹配的元素的子内容(包括文本节点)用wrappingFunction返回的DOM结构包裹起来