удобная работа с классами
в спеке html5 есть удобный интерфейс classList
для работы с классами (и другими подобными строками из разделённых пробелами слов). Естественно, он базируется на том, что яваскрипт-библиотеки давно уже сделали удобным и привычным, поэтому переходник сделать очень легко в качестве развлечения на пять минут:
Element.addMethods({
getClassList: function(element) {
element = $(element);
return element.classList || (element.classList = {
has: attach('has'),
add: attach('add'),
remove: attach('remove'),
toggle: attach('toggle')
});
function attach(name) {
return element[name + 'ClassName'].bind(element);
}
}
});
если же очень горит максимально приблизиться к спецификации даже в той части, которую никто никогда не использует, то можно добавить ещё пару методов:
item: function(index){ return element.classNames()[index]; },
length: function(){ return element.classNames().length; },
в целом, конечно, это очень похоже на переходник к не менее удобному dataset
, который я делал пару лет назад.