Wie füge ich eine Klasse für die hinzu div
?
var new_row = document.createElement('div');
Wie füge ich eine Klasse für die hinzu div
?
var new_row = document.createElement('div');
Antworten:
new_row.className = "aClassName";
Hier finden Sie weitere Informationen zu MDN: className
new_row.className = "aClassName1 aClassName2";
nur ein Attribut, Sie können eine beliebige Zeichenfolge zuweisen, auch wenn es für ungültige HTML führt
new_row.classList.add('aClassName');
da Sie dann mehrere Klassennamen hinzufügen können
classList
ist nicht unterstützte in IE9 oder unten.
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 sie keine anderen Klassen entfernt und die Klasse nicht hinzufügt, wenn das Element sie bereits hat.
Sie können Klassen auch mit umschalten oder entfernen element.classList
(siehe MDN-Dokumentation ).
Hier arbeitet der Quellcode mit einem 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 a class while created!!!';
document.getElementById('dd').appendChild(newNode);
})();
</script>
</body>
</html>
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]);
var new_row = document.createElement('div');
new_row.setAttribute("class", "YOUR_CLASS");
Das wird funktionieren ;-)
Es lohnt sich auch einen Blick darauf zu werfen:
var el = document.getElementById('hello');
if(el) {
el.className += el.className ? ' someClass' : 'someClass';
}
Wenn Sie ein neues Eingabefeld erstellen möchten, geben Sie beispielsweise file
Folgendes ein:
// Create a new Input with type file and id='file-input'
var newFileInput = document.createElement('input');
// The new input file will have type 'file'
newFileInput.type = "file";
// The 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>';
Die Ausgabe wird sein:
<li>
<span class="toggle">Jan</span>
</li>
Hinweis: Die
classList
Eigenschaft wird in Internet Explorer 9 nicht unterstützt . Der folgende Code funktioniert in allen Browsern:
function addClass(id,classname) {
var element, name, arr;
element = document.getElementById(id);
arr = element.className.split(" ");
if (arr.indexOf(classname) == -1) { // check if class is already added
element.className += " " + classname;
}
}
addClass('div1','show')
Quelle: Wie füge ich eine Klasse hinzu?
Dies wird auch funktionieren.
$(document.createElement('div')).addClass("form-group")