可以为选择器指定一个context,从指定的上下文处开始查找
直接得到指定位置的dom元素(以前貌似都是$('.class')[0]
)
选择parent下的直接子元素
选择紧跟在prev后的元素
选择prev之后的所有兄弟元素
选择h1,h2之类的元素
匹配包含指定文本的元素
匹配空元素
匹配含有子元素的元素
如果某个元素是父元素中唯一的子元素,那将会被匹配
将一组元素转换成其他数组(不论是否是元素数组)
<p><b>Values: </b></p>
<form>
<input type="text" name="name" value="John"/>
<input type="text" name="password" value="password"/>
<input type="text" name="url" value="http://ejohn.org/"/>
</form>
$("p").append($("input").map(function() {
return $(this).val();
}).get().join(", "));
// [ <p>John, password, http://ejohn.org/</p> ]
和原生数组一样(原来jQuery元素有jQuery的方法,汗。。)
以前都是Array.prototype.slice.call($('.class'))
类似underscore的_.filter
将类数组的对象转为数组
实际中此函数在 jQuery 中将自动使用而无需特意转换。
相当于Array.prototype.slice.call
类似underscore的_.map
类似underscore或者ES5的array.indexOf
合并两个数组
删除数组中重复元素。只处理删除DOM元素数组,而不能处理字符串或者数字数组。
类似underscore的_.bind方法,绑定指定的上下文到一个函数
var obj = {
name: "John",
test: function() {
alert(this.name);
$("#test").unbind("click", obj.test);
}
};
$.proxy(obj, funcName)
funcName是存在于obj中的一个函数
$("#test").click($.proxy(obj, "test"));
$.proxy(funcName, obj)
绑定funcName到obj
$("#test").click($.proxy(obj.test, obj));
var bind = function(func, obj) {
return function() {
func.apply(obj, arguments);
};
};
一个DOM节点是否包含另一个DOM节点。
$.contains(document.documentElement, document.body); // true
$.contains(document.body, document.documentElement); // false
测试对象是否是窗口(有可能是Frame)。
检测obj的数据类型。