首页 > 代码库 > jquery 手册核心函数整理.doc

jquery 手册核心函数整理.doc

jQuery 核心函数

//前者为查找对象,后者为前者查找的范围

$(argunment)

 

jQuery([selector,[context]])

参数

$(selector,[context])

selector 被查找的字符串

context  待查找的元素集、文档或 jQuery 对象

Eg ----  $(‘p‘,‘[class=two]‘).css(‘color‘,‘red‘)

$(‘p‘,‘[class=one],[class=two]‘).css(‘color‘,‘red‘)

 

element  一个用于封装成 jQuery 对象的DOM元素

Eg ----  $(‘#id‘)

 

object  一个用于封装成 jQuery 对象

 

elementArray  一个用于封装成 jQuery 对象的 DOM 数组

 

jQuery object  一个用于克隆的 jQuery 对象

 

jQuery()  返回一个空的 jQuery 对象

---------------------------------

 

jQueryjQuery(html,[ownerDocument])

(1.8*)

参数

$(html,[ownerDocument])

html  用于动态创建 DOM 元素的HTML标记字符串

ownerDocument  创建 DOM 元素所在的文档 对象

 

$(html,props)

html  用于动态创建 DOM 元素的HTML标记字符串

ownerDocument  用于附加到新创建元素上的属性、事件和方法  

 

// 在 IE 中无效:

$("<input>").attr("type", "checkbox");

// 在 IE 中有效:

$("<input type=‘checkbox‘>");

-----------------------------

$("<div>", {

  "class": "test",

  text: "Click me!",

  click: function(){

    $(this).toggleClass("test");

  }

}).appendTo("body");

-----------------------------

$("<input>", {

  type: "text",

  val: "Test",

  focusin: function() {

    $(this).addClass("active");

  },

  focusout: function() {

    $(this).removeClass("active");

  }

}).appendTo("form");

-----------------------------

// callback is function

jQuery(callback)

$(document).ready(){

    // 代码块

}

等价 ↓简写

$(function(){

    // 代码块

})

-----------------------------

jQuery.holdReady(hold)

(1.6+)

$.holdReady(true);

$.getScript("myplugin.js", function() {

     $.holdReady(false);

});

 

 

jQuery 对象访问

// each 遍历对象

// index 是索引值

// value 是对象本身

function(index)

function(index,value)

each(callback)

<button>Change colors</button>

<span></span>

<div></div>

<div></div>

 

<div></div>

<div></div>

<div id="stop">Stop here</div>

<div></div>

 

<div></div>

<div></div>

$("button").click(function(){

   // index 是索引下标 value 是当前传入的对象值

   $("div").each(function (index, value) {

     // value == this

     $( value ).css("backgroundColor", "yellow");

     // 如果这个是 #stop

     if ($(this).is("#stop")) {

     $("span").text("Stopped at div index #" + index);

     // 并退出 each 遍历

     return false;

     }

   });

});

----------------------------------

size()

// size() 是获取元素数量

$(‘div‘).size()

----------------------------------

length

// length 是获取长度

var arr = [1,2,3,‘a‘,‘b‘,..‘n‘]

arr.length;

$(‘div‘).length

----------------------------------

selector

// .selector 为选择器的字符串

// 结果都为 <ul> <li> div </li> </ul>

$(‘ul‘).append(‘<li>‘ + $(‘div‘).selector + ‘</li>‘)
$(‘ul‘).append(‘<li>‘ + ‘div‘ + ‘</li>‘)
----------------------------------

context

// 返回对象 htmlDocument
$(‘ul‘,‘div‘).context

// 返回字符串 #document
$(‘ul‘,‘div‘).context.nodeName

----------------------------------

get([index])

// index 为索引值, 实际的DOM 元素并且对他直接操作, 而不是通过 jQuery 函数, $(this).get(0)与$(this)[0]等价

$(‘div‘).get(0)

$(‘div‘)[0]

----------------------------------

返回值:Numberindex([selector|element])

如果 .index() 方法没有传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置

<ul>

  <li id="foo">foo</li>

  <li id="bar">bar</li>

  <li id="baz">baz</li>

</ul>

参数

index()

// 返回在 sibling 中的索引位置

$(‘#bar‘).index();

seletor

一个选择器, 代表一个jQuery对象, 将会从这个对象中查找元素

element

获得 index 位置的元素, 可以是 DOM 元素或 jQuery 选择器

// 以下都是返回 li 的索引位置

$(‘#bar‘).index(‘li‘);

$(‘li‘).index($(‘#bar‘));

$(‘li‘).index($(‘li:gt(0)‘));

$(‘li‘).index(document.getElementById(‘bar‘));

 

 

数据缓存

data([key],[value])

在元素上存放数据,返回jQuery对象

如果jQuery集合指向多个元素,那将在所有元素上设置对应数据,这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串

参数

key

存储的数据名.

$(‘div‘).date(‘name‘);

key,value

key:存储的数据名

value:将要存储的任意数据

$(‘div‘).date(‘name‘,‘kk‘);

obj

一个用于设置数据的键/值对

$(‘div‘).date(‘obj‘,{‘name‘:‘kk‘,‘sex‘:‘man‘});

data()

----------------------------------------------

removeData([name|list])

参数

name

存储的数据名.

list

移除数组或以空格分开的字符串

 

 

队列控制

queue(element,[queueName])

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

参数

element,[queueName]

element 检查附加列队的 DOM 元素

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

element,queueName,newQueue

element 检查附加列队的 DOM 元素

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

newQueue 替换当前函数列队内容的数组

element,queueName,callback()

element 检查附加列队的 DOM 元素

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

callback() 要添加进队列的函数

<script>

$(document.body).click(function(){

   // 参数为缓慢显示出来

   $("div").show("slow");

   // 对不在动画的元素执行 left 属性值 +=200,并且延迟 2000 毫秒

   $("div").animate({left:‘+=200‘},2000);

   // 操作加入队列的函数

   $("div").queue(function(){

      $(this).addClass("newcolor");

      // 剔除上一个加入队列的函数并执行它

      $(this).dequeue();

   });

   // 同上

   $("div").animate({left:‘-=200‘},5000);

   // 同上

   $("div").queue(function(){

      $(this).removeClass("newcolor");

   // 同上

      $(this).dequeue();

   });

   $("div").slideUp();

});

</script>

dequeue([queueName])

同上 队列名默认为 fx

// 移除 .queue()创建的队列并执行( kk )

// 从队列最前端移除一个队列函数,并执行他

clearQueue([queueName])

清空对象上尚未执行的队列

如果不带参数,则默认清空的是动画队列,这跟stop(true)类似,但stop()只能清空动画队列,而这个可以清空所有通过 .queue() 创建的队列

 


插件机制

$.fn.extend(object)

扩展 jQuery 元素集来提供新的方法(通常用来制作插件)

参数

object

用来扩充 jQuery 对象

// $.fn.extend 创建 jq 的对象

jQuery.fn.extend({

   // 属性为 check 例 $.check

   check: function() {

      return this.each(function() { this.checked = true; });

   },

   // 属性为 check 例 $.uncheck

   uncheck: function() {

      return this.each(function() { this.checked = false; }); 

   }

});

 

$("input[type=checkbox]").check();

$("input[type=radio]").uncheck();

---------------------------------

jQuery.extend

// 增加函数

jQuery.extend({

  min: function(a, b) { return a < b ? a : b; },

  max: function(a, b) { return a > b ? a : b; }

});

$.min(a,b)

 

 

多库共存jQuery.noConflict([extreme])

运行这个函数将变量$的控制权让渡给第一个实现它的那个库

参数

剔除 jquery 中的 $ 将$引用的对象映射回原始的对象

jQuery.noConflict();

jquery 库只能用 jQuery 或者

var jq = jQuery

 

 

 

 

 

 

 

 

jquery 手册核心函数整理.doc