как добавить атрибут к каждому элементу списка - PullRequest
0 голосов
/ 09 июля 2011

У меня есть строка, которая выглядит следующим образом:

.a,.b,.c,.d

Я хотел бы добавить значение к атрибуту каждого из этих элементов.

Я использовал это прежде, чтобы добавитьзначение для элементов, где я изменяю высоту:

$(this).attr("heightwert", parseInt($(this).css('height')));

я использую этот атрибут для сортировки.но если вы знаете, как я мог бы сортировать по динамической высоте элементов, это тоже было бы здорово.

это я использую для сортировки:

onclick="$('ul.dataa>li').tsort('a',{attr:'heightwert',order:'desc'});"

1 Ответ

1 голос
/ 09 июля 2011

Это было написано с предположением, что .a,.b,.c,.d был ссылкой на имена классов элементов на странице, хотя, читая комментарии, которые следуют за моей публикацией этого ответа, я не уверен, что это действительнодело.Тем не менее, исходя из моего первоначального предположения, кажется, что следующее, что (как мне показалось), делает то, что вы спросили:

$('.a, .b, .c, .d').attr('data-heightwert', function(i, val) {
    return $(this).height();
});

JS Fiddle demo .

Обратите внимание,используя атрибут data-heightwert вместо простого heightwert, поскольку это было бы недопустимым атрибутом элемента html, тогда как префикс data- позволяет назначать / создавать элементы по мере необходимости разработчику и сохранять достоверность кода,По общему признанию это под html 5, но это обратно совместимо с html 4.x, и, в худшем случае, не менее допустимо, чем просто использование heightwert в таких типах документов.

Высоты элементов, которые появляются на:hover в этой демонстрации сообщается CSS и берется из элемента data-heightwert, как установлено jQuery.

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...