сортировать элементы dom на основе класса [duplicate]

Похоже, ваша функция является частью класса, и в этом случае первым аргументом функции должен быть self, сам объект класса. (Также, как указывал @SRC, вы обычно называете методы функций класса)

Поэтому используйте:

def fuerza_repulsion(self, x):
    area = 100 * 100
    k = math.sqrt(area / len(self.grafo[0]))
    return ((k**2 / x) * c2)
28
задан user1834809 21 November 2012 в 13:15
поделиться

3 ответа

$('.clist div').sort(function(a,b) {
     return a.dataset.sid > b.dataset.sid ? 1 : -1; //be carefull, string comparaison
}).appendTo('.clist');

или, возможно,

$('.clist div').sort(function(a,b) {
     return parseInt(a.dataset.sid) - parseInt(b.dataset.sid);
}).appendTo('.clist');

sort () обрабатывает отрицательные / положительные результаты,

5
ответ дан devside 28 August 2018 в 05:13
поделиться

Более общая функция для сортировки элементов с помощью jQuery:

$.fn.sortChildren = function (sortingFunction: any) {

    return this.each(function () {
        const children = $(this).children().get();
        children.sort(sortingFunction);
        $(this).append(children);
    });

};

Использование:

$(".clist").sortChildren((a, b) => a.dataset.sid > b.dataset.sid ? 1 : -1);
2
ответ дан tocqueville 28 August 2018 в 05:13
поделиться

Вы можете использовать свойство dataset, в котором хранятся все пользовательские атрибуты data-* элемента, он возвращает строку, в случае, если вы хотите преобразовать строку в число, которое вы можете использовать parseInt или +.

$('.clist div').sort(function(a,b) {
     return a.dataset.sid > b.dataset.sid;
}).appendTo('.clist');

http://jsfiddle.net/CFYnE/

И да, ваш код работает здесь, http: // jsfiddle .net / f5mC9 /

Редактировать: Обратите внимание, что IE10! и ниже не поддерживают свойство .dataset, если вы хотите поддерживать все браузеры, вы можете использовать метод jQuery .data():

$('.clist div').sort(function(a,b) {
     return $(a).data('sid') > $(b).data('sid');
}).appendTo('.clist');
62
ответ дан undefined 28 August 2018 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: