Discuss / JavaScript / 通用代码,根据文本内容排序dom标签

通用代码,根据文本内容排序dom标签

Topic source

i_shitou

#1 Created at ... [Delete] [Delete and Lock User]
(function() {
    var sortDomByTxt = function(parent,list) {
        this.box = document.querySelector(parent);
        this.list = this.box.querySelectorAll(list);
    }

    sortDomByTxt.prototype.sort = function() {
        var arr = [],list = this.list,box = this.box;
        console.log(list);
        for (var i = 0; i < list.length; i++) {
            arr.push(list[i]);
        }
        arr.sort(function(i, j) {
            var x = i.innerText.toLowerCase();
            var y = j.innerText.toLowerCase();
            if (x < y) {
                return -1;
            }
            if (x > y) {
                return 1;
            }
            return 0;
        });;
        box.innerHTML = arr.map(function(i) {
            return i.outerHTML;
        }).join('');
    }
    window.sortDomByTxt = sortDomByTxt;
})();

var result = new sortDomByTxt("#test-list","li").sort();

  • 1

Reply