2016-11-17 2 views
-1

Я пытаюсь заменить класс div на Javascript. Я просмотрел некоторые сообщения, но, похоже, не помог (например, Change an element's class with JavaScript). У меня есть простой innerHTMLДобавить заменить класс div на некоторые условия с помощью Javascript

document.getElementById("colored-title").innerHTML = "Add comments"; 

HTML является простым, как хорошо, и это работает, когда нет условия на классе

<div id="colored-title"></div> 

Я попытался много вариантов (я перечислил их все ниже), но ни один из них похоже работа.

if (array[current][5] == 4) { 
    document.getElementById("colored-title").addClass("green-text"); 
    document.getElementById("colored-title").className= "green-text"; 
    document.getElementById("colored-title").className+= "green-text"; 
    document.getElementById("colored-title").setAttribute=("class","green-text"); 
} else { 
    // other format 
} 
document.getElementById("colored-title").innerHTML = "Add comments"; 
+0

Некоторые из них должны работать, некоторые не будут работать, например, 'addClass' является методом jQuery,' setAttribute' является функцией – adeneo

+0

Возможная дубликация [Изменить класс элемента с JavaScript] (http: // stackoverflow. com/questions/195951/change-an-elements-class-with-javascript) –

+0

Вам следует попробовать использовать синтаксис [this] (https://developer.mozilla.org/en/docs/Web/API/Element/classList) , Я считаю, что это самый простой синтаксис в чистом javascript. –

ответ

0

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

$("#colored-title").attr("class", "green-text"); 

Вы должны использовать селектор JQuery, не document.getElementById.

Edit: Стоит отметить, метод .attr может также установить несколько вещей сразу:

$("#thing").attr({class:"green-text", title:"green-Object", id:"green-Id"}); 
0

Вы можете добавить название класса Повсеместно JavaScript на .classname = «» имя класса Это должно work.check ваше, если условие чтобы понять, почему он не работает

window.onload = function() { 
 
    document.getElementById("colored-title").className= "green-text"; 
 
    
 
}
.green-text { 
 
    color: green; 
 
}
<div id="colored-title"> 
 
    hello 
 
</div>

Надеется, что это помогает

0

Это утверждение добавит правильный класс в DIV:

document.getElementById("colored-title").className= "green-text"; 

Но со следующим утверждением изменяемого класс от «зеленой-текст» на «зеленый-textgreen-текст»:

document.getElementById("colored-title").className+= "green-text"; 
0

Если у вас есть JQuery в проекте, то

$("#elem").addClass("myClass");
.myClass { 
 
    color: red; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 

 
<div id="elem"> 
 
Text 
 
</div>

Смежные вопросы