I want to apply the style form my CSS file to a HTML class which I created with Javascript.
My Code looks like this `
socket.on('chat', function (data) {
feedback.innerHTML = '';
var mewTime = document.createElement("span")
mewTime.class = "chatTime";
mewTime.text = data.currentTime;
console.log(mewTime);
var userName = createUser(data, mewTime);
var content = document.createElement("span")
content.class = "messageContent"
content.append(data.messageInput)
var message = document.createElement("div")
message.class = "message";
message.append(userName[0].outerHTML);
message.append(mewTime);
message.append(document.createElement("br"))
message.append(content);
output.append(message);
currentTime = '';
messageInput.focus();
});
function createUser(data, time){
if(time === null){
var userName = $('<span class="userNameOnline"/>');
userName.text(data);
} else{
var userName = $('<span class="userName"/>')
.text(data.username + ' ' + time.text);
}
console.log(userName);
return userName;
}
// CSS
.message{
color: red;
}
.userName {
color: blue;
}
`
I can access the text in the message but I can't style it with my CSS.
I tried to use .outerHTML, .innerHTML, .text.
On the console it shows that the class is correctly set.
element.className = "message"?classListis the html5 way to do it. Otherwise you should use theclassNameproperty as nick proposed. This way the style of your css will be applied to the element.