使用JavaScript将新元素添加到DOM中
我正在努力将新的“按钮”元素添加到我的“列表”中。我试着添加一些els,但不起作用。这对李来说是不寻常的。若你们问为什么按钮是父按钮,它是表单引导列表组 更新JS。它现在添加了“按钮,但不正确”使用JavaScript将新元素添加到DOM中,javascript,dom,Javascript,Dom,我正在努力将新的“按钮”元素添加到我的“列表”中。我试着添加一些els,但不起作用。这对李来说是不寻常的。若你们问为什么按钮是父按钮,它是表单引导列表组 更新JS。它现在添加了“按钮,但不正确” <div class="list-group"> <button type="button" class="list-group-item"> <ul class="desc"
<div class="list-group">
<button type="button" class="list-group-item">
<ul class="desc">
<li class="t-desc50">Add Device</li>
<li class="t-desc55"><i class="fa fa-plus fa-2x" aria-hidden="true"></i></li>
</ul>
</button>
<button type="button" class="list-group-item" id="new-item>
<ul class="desc">
<li class="t-desc">Lamp</li>
<li class="t-desc2">5 kwH</li>
<li class="t-desc3"><label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label></li>
</ul>
</button>
<button type="button" class="list-group-item" id="new-item>
<ul class="desc">
<li class="t-desc">AC</li>
<li class="t-desc2">5 kwH</li>
<li class="t-desc3"><label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label></li>
</ul>
</button>
</div>
如果要向dom添加元素,可以使用:
var-element=document.createElement(标记名);
然后附加您的元素
您可以将事件侦听器添加到元素
,如果需要,还可以在前面添加类
评论回答
您需要的代码可能是这样的:
function addItem() {
var list = document.getElementById('list-group')
//Button
var button = document.createElement('button');
button.classList.add("list-group-item");
//Ul
var ul = document.createElement('ul');
ul.classList.add("desc");
//li
var liFirst = document.createElement('li');
var liSecond = document.createElement('li');
var liThird = document.createElement('li');
liFirst.innerHTML = "Lamp"
liSecond.innerHTML = "5 kwH"
//Label
var label = document.createElement('label');
label.classList.add("switch");
var input = document.createElement('input');
input.type = 'checkbox';
var span = document.createElement('span');
span.classList.add("slider");
span.classList.add("round");
label.append(input)
label.append(span)
liThird.append(label)
ul.append(liFirst)
ul.append(liSecond)
ul.append(liThird)
button.append(ul)
list.append(button)
}
如果要向dom添加元素,可以使用:
var-element=document.createElement(标记名);
然后附加您的元素
您可以将事件侦听器添加到元素
,如果需要,还可以在前面添加类
评论回答
您需要的代码可能是这样的:
function addItem() {
var list = document.getElementById('list-group')
//Button
var button = document.createElement('button');
button.classList.add("list-group-item");
//Ul
var ul = document.createElement('ul');
ul.classList.add("desc");
//li
var liFirst = document.createElement('li');
var liSecond = document.createElement('li');
var liThird = document.createElement('li');
liFirst.innerHTML = "Lamp"
liSecond.innerHTML = "5 kwH"
//Label
var label = document.createElement('label');
label.classList.add("switch");
var input = document.createElement('input');
input.type = 'checkbox';
var span = document.createElement('span');
span.classList.add("slider");
span.classList.add("round");
label.append(input)
label.append(span)
liThird.append(label)
ul.append(liFirst)
ul.append(liSecond)
ul.append(liThird)
button.append(ul)
list.append(button)
}
您需要将函数作为参数传递,而不是调用它:
// wrong:
document.querySelector('.fa-plus').addEventListener('click', addElement());
// right:
document.querySelector('.fa-plus').addEventListener('click', addElement);
addEventListener
需要一个回调函数,如果先调用该函数,则将函数的结果作为参数发送,这是错误的
您需要传递
addElement
函数,因此addEventListener
调用它。您需要将函数作为参数传递,而不是调用它:
// wrong:
document.querySelector('.fa-plus').addEventListener('click', addElement());
// right:
document.querySelector('.fa-plus').addEventListener('click', addElement);
addEventListener
需要一个回调函数,如果先调用该函数,则将函数的结果作为参数发送,这是错误的
您需要传递
addElement
函数,因此addEventListener
调用它。标记和代码中都有一些语义错误。首先,标记和代码中都有一些语义错误。首先,得到了它
function addItem() {
var list = document.getElementById('list-group')
var button = document.createElement('button');
var ul = document.createElement('ul');
var liFirst = document.createElement('li');
var liSecond = document.createElement('li');
var liThird = document.createElement('li');
button.classList.add("list-group-item");
ul.classList.add("desc");
liFirst.classList.add("t-desc")
liSecond.classList.add("t-desc2")
liThird.classList.add("t-desc3")
liFirst.innerText = 'TV'
liSecond.innerText = '5kwh'
liThird.innerHTML = `<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>`
ul.append(liFirst)
ul.append(liSecond)
ul.append(liThird)
button.append(ul)
list.append(button)
函数addItem(){
var list=document.getElementById('list-group')
var button=document.createElement('button');
var ul=document.createElement('ul');
var liFirst=document.createElement('li');
var lissecond=document.createElement('li');
var litird=document.createElement('li');
button.classList.add(“列表组项”);
ul.类别列表。添加(“说明”);
liffirst.classList.add(“t-desc”)
lissecond.classList.add(“t-desc2”)
litird.classList.add(“t-desc3”)
liFirst.innerText='TV'
lissecond.innerText='5kwh'
litird.innerHTML=`
`
ul.附加(liFirst)
ul.追加(lissecond)
ul.附加(LITHRD)
按钮。附加(ul)
list.append(按钮)
}明白了
function addItem() {
var list = document.getElementById('list-group')
var button = document.createElement('button');
var ul = document.createElement('ul');
var liFirst = document.createElement('li');
var liSecond = document.createElement('li');
var liThird = document.createElement('li');
button.classList.add("list-group-item");
ul.classList.add("desc");
liFirst.classList.add("t-desc")
liSecond.classList.add("t-desc2")
liThird.classList.add("t-desc3")
liFirst.innerText = 'TV'
liSecond.innerText = '5kwh'
liThird.innerHTML = `<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>`
ul.append(liFirst)
ul.append(liSecond)
ul.append(liThird)
button.append(ul)
list.append(button)
函数addItem(){
var list=document.getElementById('list-group')
var button=document.createElement('button');
var ul=document.createElement('ul');
var liFirst=document.createElement('li');
var lissecond=document.createElement('li');
var litird=document.createElement('li');
button.classList.add(“列表组项”);
ul.类别列表。添加(“说明”);
liffirst.classList.add(“t-desc”)
lissecond.classList.add(“t-desc2”)
litird.classList.add(“t-desc3”)
liFirst.innerText='TV'
lissecond.innerText='5kwh'
litird.innerHTML=`
`
ul.附加(liFirst)
ul.追加(lissecond)
ul.附加(LITHRD)
按钮。附加(ul)
list.append(按钮)
}addEventListener
接受一个函数。看起来您遗漏了一些代码?请删除addEventListener
上addElement中的()
。它的性能类似于IIF
工作,但不添加相同的按钮“在javascript中调用按钮标记li
会让其他人感到困惑。addEventListener
接受一个函数。看起来你漏掉了一些代码?删除addeventlistener
上addElement中的()
。它就像IIF
一样工作,但不添加相同的“按钮”,你会让其他人在javascript中调用按钮标签li
时感到困惑。差不多了,但如何添加“desc”类呢这个类是esentialelement.classList.add(“desc”)
,元素必须在(var element=document.getElementMyId(…)
之前定义,如果元素存在于DOM中,或者var element=document.createElement(…)
如果您创建了元素)这对某些方面有效,但是添加了空的“按钮”函数addItem()中没有ul和li({var modal=document.getElementById('list-group');//modalContent被创建并插入到id为myModal modalContent=document.createElement(“按钮”);modalContent.classList.add(“列表组项”);modalContent.classList.add(“描述”)的元素中;modal.append(modalContent)}
我不明白您需要什么,我做了一个编辑,希望它能工作这是我在控制台中得到的
几乎在那里,但是如何添加“desc”类这个类是重要的元素。classList.add(“desc”)
,元素必须在前面定义(var-element=document.getElementMyId(…)
如果DOM中存在元素,或者var-element=document.createElement(…)
如果创建元素)这是如何工作的,但是添加了空的“按钮”,其中没有ul和li函数addItem(){var-modal=document.getElementById('list-group'));//modalContent被创建并插入到id为myModal modalContent=document.createElement(“按钮”);modalContent.classList.add(“列表组项”);modalContent.classList.add(“描述”);modal.append(modalContent)}
我不明白您需要什么,我做了一个编辑,希望它能工作这就是我在控制台中得到的>
最后一个问题如何附加到添加按钮,而不是在列表末尾,而是在Begging?使用prepend
而不是append
最后一个问题如何附加到添加按钮,而不是在列表末尾,而是在Begging?使用prepend
而不是append