Javascript 横穿JQuery对象?
我正在对元素列表进行排序,使用:Javascript 横穿JQuery对象?,javascript,jquery,Javascript,Jquery,我正在对元素列表进行排序,使用: jQuery.fn.sort = function() { return this.pushStack( [].sort.apply( this, arguments ), []); }; $("ol li").sort("sortFunction").appendTo("ol"); 问题出在sort函数中 function sortFunction($a, $b) { ... } 基本上,我想把$a和$b都当作jQuery对象,这样我就可以
jQuery.fn.sort = function() {
return this.pushStack( [].sort.apply( this, arguments ), []);
};
$("ol li").sort("sortFunction").appendTo("ol");
问题出在sort函数中
function sortFunction($a, $b) {
...
}
基本上,我想把$a和$b都当作jQuery对象,这样我就可以操纵它们了
e、 g,在sort函数do中
$a.find("div#3 li").html();
这不起作用,因为$a和$b是本机javascript对象
有什么帮助吗?它们是本机DOM元素。您可以在一个上调用jQuery函数来包装它,以便jQuery函数可用:
$($a).find(...)
它们是本地DOM元素。您可以在一个上调用jQuery函数来包装它,以便jQuery函数可用:
$($a).find(...)
您可以将本机JS对象转换为jquery对象,如下所示:
var jsObject = $(nativeobject);
这有帮助吗?您可以将本机JS对象转换为jquery对象,如下所示:
var jsObject = $(nativeobject);
这有帮助吗?您不能简单地调用对象上的jQuery吗
function sortFunction($a, $b) {
var jQueryA = $($a);
}
您不能简单地调用对象上的jQuery吗
function sortFunction($a, $b) {
var jQueryA = $($a);
}
只需在排序函数中将它们转换为jQuery对象:
$($a).find("div#3 li").html();
注意:不要叫它们
$a
,而要叫它们a
。以美元符号作为前缀通常表示jquery类型变量,因此如果它不是,则会让人感到困惑,只需在sort函数中将它们转换为jquery对象即可:
$($a).find("div#3 li").html();
注意:不要叫它们
$a
,而要叫它们a
。带美元符号的前缀通常表示jquery类型变量,因此如果它不是我认为您键入了(“ol-li.sort”(“sortFunction”).appendTo(“ol”);
可能与其他人已经这样做并在这里写过的变量重复:我认为您键入了(“ol-li.sort”(“sortFunction”).appendTo(“ol”)代码>其他人也可能重复此操作,并在此处对此进行了说明: