Bagaimana cara menambahkan kelas untuk div
?
var new_row = document.createElement('div');
Bagaimana cara menambahkan kelas untuk div
?
var new_row = document.createElement('div');
Jawaban:
new_row.className = "aClassName";
Berikut informasi lebih lanjut tentang MDN: className
new_row.className = "aClassName1 aClassName2";
hanya atribut, Anda dapat menetapkan string yang Anda suka, bahkan jika itu membuat html tidak valid
new_row.classList.add('aClassName');
karena Anda kemudian dapat menambahkan beberapa nama kelas
classList
adalah tidak didukung di IE9 atau di bawah.
Gunakan .classList.add()
metode:
const element = document.querySelector('div.foo');
element.classList.add('bar');
console.log(element.className);
<div class="foo"></div>
Metode ini lebih baik daripada menimpa className
properti, karena tidak menghapus kelas lain dan tidak menambahkan kelas jika elemen sudah memilikinya.
Anda juga dapat beralih atau menghapus kelas menggunakan element.classList
(lihat dokumentasi MDN ).
Berikut adalah kode sumber yang berfungsi menggunakan pendekatan fungsi.
<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>
Ada juga cara DOM untuk melakukan ini dalam JavaScript:
// 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");
Ini akan bekerja ;-)
Anda juga perlu melihat:
var el = document.getElementById('hello');
if(el) {
el.className += el.className ? ' someClass' : 'someClass';
}
Jika Anda ingin membuat bidang input baru dengan misalnya file
ketik:
// 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"
Outputnya adalah: <input type="file" class="w-95 mb-1">
Jika Anda ingin membuat tag bersarang menggunakan JavaScript, cara paling sederhana adalah dengan innerHtml
:
var tag = document.createElement("li");
tag.innerHTML = '<span class="toggle">Jan</span>';
Outputnya adalah:
<li>
<span class="toggle">Jan</span>
</li>
Catatan:
classList
Properti ini tidak didukung di Internet Explorer 9 . Kode berikut akan berfungsi di semua browser:
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')
Sumber: bagaimana js menambahkan kelas
Ini juga akan berfungsi.
$(document.createElement('div')).addClass("form-group")