У меня есть div с id = "mydiv", он не назначен классу в начале. Следующие две функции назначают классы mydiv.javascript - понимание того, как классы css меняются/обновляются
function one(){
document.getElementById(mydiv).setAttribute("class", "classone");
}
function two(){
document.getElementById(mydiv).setAttribute("class", "classtwo");
}
После выполнения этих двух функций, что такое className mydiv? Является ли это classtwo или classone и classtwo? (Если оба класса - как я могу изменить функцию два, чтобы,
- сначала удалить текущий Classname из mydiv
- затем присвоить Classname (код, который я уже упоминал в функции) )
Если вы установите его в строку, она будет эта строка. Предыдущее значение будет стерто. Если вы хотите * добавить * класс, вы должны получить текущее значение атрибута и добавить еще одну строку. Обратите внимание, что вам не нужно использовать '.setAttribute()' - вы можете ссылаться на строку класса напрямую через свойство className соответствующего элемента DOM. – Pointy
, чтобы добавить класс (и только класс), вы можете использовать elm.className + = "" + strClassToAdd; управлять, использовать новый вяз.classList.remove ('classone'); elm.classList.add ('classtwo'); – dandavis