[b]jQuery 数据[/b] 



[b]data() 方法[/b] 

向被选元素附加数据,或者从被选元素获取数据 


从元素返回数据 

$(selector).data(name) 


向元素附加数据 

$(selector).data(name,value) 


使用对象向元素附加数据 

$(selector).data(object) 



[b]removeData() 方法[/b] 

删除之前通过 data() 方法设置的数据。 

$(selector).removeData(name) 



[b]queue() 方法[/b] 

显示或操作在匹配元素上执行的函数队列。 


jQueryObject.queue( [ queueName ] [, newQueue ] ) 

如果没有指定任何参数或只指定了queueName参数,则表示获取指定名称的函数队列。如果指定了newQueue参数, 

则表示使用新的队列newQueue设置(替换)当前队列中的所有内容。 


将指定的函数添加到指定的队列(末尾)。 

jQueryObject.queue( [ queueName ,] callback ) 


实例: 

$('#foo').slideUp(); 

$('#foo').queue(function() { 

 alert('Animation complete.'); 

 $(this).dequeue(); 

}); 

注意,我们应当确保最终调用了 .dequeue(),这样下一个排队的函数才能执行 



[b]clearQueue() 方法[/b] 

序列中未被执行的所有函数都会被从序列中删除 

每个元素均可拥有一到多个由 jQuery 添加的函数队列(如:调用元素上的多个动画方法:$('#foo').slideUp().fadeIn();) 

队列上的函数时异步调用的。 


.clearQueue(queueName) 

queueName 可选。字符串值,包含序列的名称。默认是 fx, 标准的效果序列。 



[b]dequeue() 方法[/b] 

终止一个自定义的队列函数。 

为匹配元素执行序列中的下一个函数。 

就是从序列中删除这个函数,并从序列中取第一个函数,并运行它(因为有删除,所以下一个函数就是第一个了) 

如果不调用这个,那么下一个函数就不能调用到 


实例: 

var FUNC=[ 

 2 function() {$("#block1").animate({left:"+=100"},aniCB);}, 

 3 function() {$("#block2").animate({left:"+=100"},aniCB);}, 

 4 function() {$("#block1").animate({left:"+=100"},aniCB);}, 

 5 function() {$("#block2").animate({left:"+=100"},aniCB);}, 

 6 function() {$("#block1").animate({left:"+=100"},aniCB);}, 

 7 function(){alert("动画结束")} 

 8 ]; 

 9 var aniCB=function() { 

10 $(document).dequeue(“myAnimation”); 

11 } 

12 $(document).queue(“myAnimation”,FUNC); 

13 aniCB(); 


实例: 

$divs.queue("q", [ 

function( next ){ alert("队列函数1"); $(this).dequeue("q"); } , // 自动移除并调用下一个函数 

function( next ){ alert("队列函数2"); $(this).dequeue("q"); } , 

function( next ){ alert("队列函数3"); $(this).dequeue("q"); } 

]); 



[b]hasData() 方法[/b] 

检测元素是否拥有与之相关的任何 jQuery 数据。 


jQuery.hasData(element) 

element 可选。需要检查其数据的 DOM 元素。 


jQuery.hasData() 方法检测元素当前是否拥有通过使用 jQuery.data() 设置的任何值。如果没有数据与元素相关 

(根本不存在数据对象或者数据对象为空),则该方法返回 false;否则返回 true。