语法
公鸡酸是“准备事件”的简称
鸡酮酸的断行性和链性
嵌套过滤器由Nathan Long
缓存一个集合并通过roosteronacid在同一行上执行命令
包含选择器roosteronacid
定义元素创建时的属性
访问jQuery函数就像访问roosteronacid数组一样
noConflict函数- Oli释放$变量
通过nickf隔离noConflict模式下的$变量
无冲突模式由鸡酮酸
数据存储
数据函数-通过TenebrousX将数据绑定到元素
HTML5数据属性支持,在类固醇!由roosteronacid
Filip dupanovic设计的jQuery元数据插件
优化
用鸡酮酸优化复合选择剂的性能
lupefiasco的上下文参数
Nathan Long的保存和重用搜索
创建HTML元素并保持引用,检查元素是否存在,编写自己的选择器
杂项
Check the index of an element in a collection by redsquare
Live event handlers by TM
Replace anonymous functions with named functions by ken
Microsoft AJAX framework and jQuery bridge by Slace
jQuery tutorials by egyamado
Remove elements from a collection and preserve chainability by roosteronacid
Declare $this at the beginning of anonymous functions by Ben
FireBug lite, Hotbox plug-in, tell when an image has been loaded and Google CDN by Colour Blend
Judicious use of third-party jQuery scripts by harriyott
The each function by Jan Zich
Form Extensions plug-in by Chris S
Asynchronous each function by OneNerd
The jQuery template plug-in: implementing complex logic using render-functions by roosteronacid
在方法调用(如.append())中使用自动执行的匿名函数来遍历某些内容。例如:
$("<ul>").append((function ()
{
var data = ["0", "1", "2", "3", "4", "5", "6"],
output = $("<div>"),
x = -1,
y = data.length;
while (++x < y) output.append("<li>" + info[x] + "</li>");
return output.children();
}()));
我使用这种方法来迭代那些不适合跳出我的链接来构建的大而不舒服的东西。
(这是一个无耻的插头)
与其写重复的表单处理代码,你可以试试我写的这个插件,它通过添加表单相关的方法添加到jQuery的流畅API:
// elementExists is also added
if ($("#someid").elementExists())
alert("found it");
// Select box related
$("#mydropdown").isDropDownList();
// Can be any of the items from a list of radio boxes - it will use the name
$("#randomradioboxitem").isRadioBox("myvalue");
$("#radioboxitem").isSelected("myvalue");
// The value of the item selected. For multiple selects it's the first value
$("#radioboxitem").selectedValue();
// Various, others include password, hidden. Buttons also
$("#mytextbox").isTextBox();
$("#mycheck").isCheckBox();
$("#multi-select").isSelected("one", "two", "three");
// Returns the 'type' property or 'select-one' 'select-multiple'
var fieldType = $("#someid").formElementType();
异步each()函数
如果你有非常复杂的文档,在迭代过程中运行jquery each()函数会锁住浏览器,并且/或Internet Explorer弹出“是否要继续运行此脚本”消息,这个解决方案将会挽救你的一天。
jQuery.forEach = function (in_array, in_pause_ms, in_callback)
{
if (!in_array.length) return; // make sure array was sent
var i = 0; // starting index
bgEach(); // call the function
function bgEach()
{
if (in_callback.call(in_array[i], i, in_array[i]) !== false)
{
i++; // move to next item
if (i < in_array.length) setTimeout(bgEach, in_pause_ms);
}
}
return in_array; // returns array
};
jQuery.fn.forEach = function (in_callback, in_optional_pause_ms)
{
if (!in_optional_pause_ms) in_optional_pause_ms = 10; // default
return jQuery.forEach(this, in_optional_pause_ms, in_callback); // run it
};
你可以使用它的第一种方式就像each():
$('your_selector').forEach( function() {} );
可选的第二个参数让你指定迭代之间的速度/延迟,这对动画可能很有用(下面的例子将在迭代之间等待1秒):
$('your_selector').forEach( function() {}, 1000 );
记住,因为这是异步工作的,你不能依赖于迭代在下一行代码之前完成,例如:
$('your_selector').forEach( function() {}, 500 );
// next lines of code will run before above code is complete
我为一个内部项目写了这篇文章,虽然我确信它可以改进,但它满足了我们的需要,所以希望你们中的一些人会觉得它有用。谢谢- - -
不是真的jQuery,但我为jQuery和MS AJAX做了一个漂亮的小桥梁:
Sys.UI.Control.prototype.j = function Sys$UI$Control$j(){
return $('#' + this.get_id());
}
如果你做了很多ASP,这真的很好。由于MS支持jQuery,现在有一个很好的桥接意味着它很容易做jQuery操作:
$get('#myControl').j().hide();
所以上面的例子不是很好,但是如果你正在编写ASP。NET AJAX服务器控件,使得在客户端控件实现中使用jQuery变得很容易。