我如何为div添加一个类?
var new_row = document.createElement('div');
我如何为div添加一个类?
var new_row = document.createElement('div');
当前回答
同样值得一看的是:
var el = document.getElementById('hello');
if(el) {
el.className += el.className ? ' someClass' : 'someClass';
}
其他回答
如果你想创建一个新的输入字段,例如文件类型:
// 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"
输出为:<input type="file" class="w-95 mb-1">
如果你想用JavaScript创建一个嵌套的标签,最简单的方法是使用innerHtml:
var tag = document.createElement("li");
tag.innerHTML = '<span class="toggle">Jan</span>';
输出将是:
<li>
<span class="toggle">Jan</span>
</li>
跨浏览器的解决方案
注意:Internet Explorer 9不支持classList属性。以下代码可以在所有浏览器中运行:
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')
源码:如何在js中添加类
<script>
document.getElementById('add-Box').addEventListener('click', function (event) {
let itemParent = document.getElementById('box-Parent');
let newItem = document.createElement('li');
newItem.className = 'box';
itemParent.appendChild(newItem);
})
</script>
如果要创建很多元素,您可以创建自己的基本createElementWithClass函数。
function createElementWithClass(type, className) {
const element = document.createElement(type);
element.className = className
return element;
}
非常基本的我知道,但能够调用以下是少混乱。
const myDiv = createElementWithClass('div', 'some-class')
而不是很多
const element1 = document.createElement('div');
element.className = 'a-class-name'
一遍又一遍。
同样值得一看的是:
var el = document.getElementById('hello');
if(el) {
el.className += el.className ? ' someClass' : 'someClass';
}