Dan*_*nny 8 html javascript jquery dom
我试图以特定的顺序向jQuery对象添加元素.但是,结果集的排序与DOM树相同.例如:
<div>one</div>
<span>two</span>
<p>three</p>
...
var $result = $("span").add("p").add("div");
Run Code Online (Sandbox Code Playgroud)
我想要一个结果集,其中$ result [0]是span,$ result [1]是p,依此类推.但是,它们的顺序与DOM中的顺序相同.
除了.add()之外,还有另一种方法来构建一个像我想要的jQuery对象吗?
我知道我可以为它们分配一些数据属性来指定顺序,并按此排序我的结果集.但是,这需要在我的应用程序中发生几十次,并且必须分配订单数据值并且每次排序都会非常难看,并且实施起来需要很长时间.
你可以使用原生Array.push:
$.fn.push = function(selector) {
Array.prototype.push.apply(this, $.makeArray($(selector)));
return this;
};
var $result = $("span").push("p").push("div");
Run Code Online (Sandbox Code Playgroud)
你可能会认为jQuery是这样做的,add()但它实际上从函数返回一个pushStack来优化它的选择器:http://james.padolsey.com/jquery/#v=1.7.2&fn=jQuery.fn.add
| 归档时间: |
|
| 查看次数: |
2021 次 |
| 最近记录: |