Wie füge ich eine Klasse für die div
hinzu?
var new_row = document.createElement('div');
new_row.className = "aClassName";
Hier gibt es mehr Informationen zu MDN: className
Hier arbeitet der Quellcode mit dem Funktionsansatz.
<html>
<head>
<style>
.news{padding:10px; margin-top:2px;background-color:red;color:#fff;}
</style>
</head>
<body>
<div id="dd"></div>
<script>
(function(){
var countup = this;
var newNode = document.createElement('div');
newNode.className = 'textNode news content';
newNode.innerHTML = 'this created div contains class while created!!!';
document.getElementById('dd').appendChild(newNode);
})();
</script>
</body>
</html>
Verwenden Sie die .classList.add()
-Methode:
const element = document.querySelector('div.foo');
element.classList.add('bar');
console.log(element.className);
<div class="foo"></div>
Diese Methode ist besser als das Überschreiben der className
-Eigenschaft, da andere Klassen nicht entfernt werden und die Klasse nicht hinzugefügt wird, wenn das Element bereits über diese verfügt.
Sie können Klassen auch mit element.classList
umschalten oder entfernen (siehe MDN docs ).
Es gibt auch die DOM-Methode, um dies in JavaScript zu tun:
// Create a div and set class
var new_row = document.createElement("div");
new_row.setAttribute("class", "aClassName" );
// Add some text
new_row.appendChild( document.createTextNode("Some text") );
// Add it to the document body
document.body.appendChild( new_row );
var newItem = document.createElement('div');
newItem.style = ('background-color:red');
newItem.className = ('new_class');
newItem.innerHTML = ('<img src="./profitly_files/TimCover1_bigger.jpg" width=50 height=50> some long text with ticker $DDSSD');
var list = document.getElementById('x-auto-1');
list.insertBefore(newItem, list.childNodes[0]);
Wenn Sie ein neues Eingabefeld mit beispielsweise dem Typ file
erstellen möchten
// Create new Input with type file and id='file-input'
var newFileInput = document.createElement('input');
// New input file will have type file
newFileInput.type = "file";
// New input file will have class="w-95 mb-1" (width - 95%, margin-bottom: .25rem)
newFileInput.className = "w-95 mb-1"
Die Ausgabe wird sein: <input type="file" class="w-95 mb-1">
Wenn Sie ein verschachteltes Tag mit Javascript erstellen möchten, ist der einfachste Weg innerHtml
.
var tag = document.createElement("li");
tag.innerHTML = '<span class="toggle">Jan</span>';
Ausgabe wird sein:
<li>
<span class="toggle">Jan</span>
</li>
Auch einen Blick wert
var el = document.getElementById('hello');
if(el) {
el.className += el.className ? ' someClass' : 'someClass';
}