function classed(el, class_name, add_class) {
const re = new RegExp("(?:^|\\s)" + class_name + "(?!\\S)", "g");
if (add_class && !el.className.match(re)) el.className += " " + class_name
else if (!add_class) el.className = el.className.replace(re, '');
}
использование принятого ответа выше вот является простой функцией перекрестного браузера, чтобы добавить и удалить класс
, добавляет класс:
classed(document.getElementById("denis"), "active", true)
удаляют класс:
classed(document.getElementById("denis"), "active", false)
Я опубликовал PersistentDictionary на Codeplex. Это поддерживает только сериализацию структур, но я буду работать над другой структурой данных, которая поддерживает хранение и извлечение произвольных объектов.
Ограничение типа может быть приемлемым для ключей, но для значений я бы ожидал всего, что [Serializable]
работать. Иначе какой смысл? Простые случаи, такие как Dictionary
, встречаются в учебниках гораздо чаще, чем в реальном мире.