javascript - 如何动态更改链接顺序

标签 javascript

我有这样的东西:

<div class="list-group list">
    <a href="blabla" id="1" data-order="1">Hello</a>
    <a href="blabld" id="2" data-order="2">World</a>
</div>

不,我尝试使用纯 JavaScript 动态更改链接的顺序。

有人有什么建议吗?该怎么做?

我的目标是:

<div class="list-group list">
    <a href="blabld" id="2" data-order="1">World</a>
    <a href="blabla" id="1" data-order="2">Hello</a>
</div>

最佳答案

给你:

function sort(r) {
    var $list = document.getElementsByClassName('list')[0];
    var listGroupA = document.getElementsByTagName('a');
    var $listGroupA = [];
    for (var i = 0; i < listGroupA.length; ++i) {
        $listGroupA.push(listGroupA[i]);
    }
    $listGroupA.sort(function (a, b) {

        return r * (a.getAttribute('data-order') - b.getAttribute('data-order'));

    });
    for (var i = 0; i < $listGroupA.length; i++) {
        $list.removeChild($listGroupA[i]);
    }
    for (var i = 0; i < $listGroupA.length; i++) {
        $list.appendChild($listGroupA[i]);
    }
}
var reverse = 1;
$('#sort').click(function () {

    reverse = reverse * -1;
    sort(reverse);
});

fiddle

关于javascript - 如何动态更改链接顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32565535/

相关文章:

javascript - 从属性中获取一个值并将其提供给 Controller ?

javascript - react : Return Statement

javascript - 在函数中拒绝不返回错误

javascript - 我的第一个示例表使用react-data-grid,列不是彼此相邻渲染的,而是彼此重叠

javascript - jQuery offset() 或 position()——当靠近另一个元素时改变一个元素的属性

javascript - jqgrid oversmart 并将标题应用于我的 td

javascript - 检测 iPad 或 iPhone(iOS6 和 iOS7)上是否安装了应用程序

javascript - 意外标记)<===

javascript - jQuery 未在 Firefox 中定义错误

javascript - Jquery css z-index Math.random() 不工作