我正在使用以下方法对元素列表进行排序:
jQuery.fn.sort = function() {
return this.pushStack( [].sort.apply( this, arguments ), []);
};
$("ol li").sort("sortFunction").appendTo("ol");
问题出在sortFunction。
function sortFunction($a, $b) {
...
}
基本上,我想要的是将$ a和$ b视为jQuery对象,因此我可以操纵它们。
例如,在sortFunction中执行
$a.find("div#3 li").html();
这不起作用,因为$ a和$ b是本机javascript对象。
任何帮助?
答案 0 :(得分:1)
它们是原生DOM元素。你可以在一个上调用jQuery函数来包装它,以便jQuery函数可用:
$($a).find(...)
答案 1 :(得分:1)
您可以将本机JS对象转换为jquery对象,如下所示:
var jsObject = $(nativeobject);
这有帮助吗?
答案 2 :(得分:1)
你不能简单地在对象上调用jQuery吗?
function sortFunction($a, $b) {
var jQueryA = $($a);
}
答案 3 :(得分:1)
只需将它们转换为sort函数中的jQuery对象:
$($a).find("div#3 li").html();
注意:请勿将其称为$a
,而只是a
。使用美元符号进行前缀通常表示jquery类型变量,因此如果它不是