Javascript 如何批量添加这些元素?
我需要添加以下元素:Javascript 如何批量添加这些元素?,javascript,Javascript,我需要添加以下元素: <div class="checkbox"> <label> <input type="checkbox" name="optionsRadios" id="optionsRadios1" value="option1"> <input class="inputone" id="optionsRadios1text" type="text"> </label> </div>
<div class="checkbox">
<label>
<input type="checkbox" name="optionsRadios" id="optionsRadios1" value="option1">
<input class="inputone" id="optionsRadios1text" type="text">
</label>
</div>
为此:
<div id="childs"></div>
有没有一种方法可以在不使用多个appendChild函数的情况下执行此操作?无需调用多个
appendChild()
函数
document.getElementById('childs').appendChild(document.querySelector('.checkbox'));代码>无需调用多个appendChild()
函数
document.getElementById('childs').appendChild(document.querySelector('.checkbox'));代码>无需调用多个appendChild()
函数
document.getElementById('childs').appendChild(document.querySelector('.checkbox'));代码>无需调用多个appendChild()
函数
document.getElementById('childs').appendChild(document.querySelector('.checkbox'));代码>如果您在DOM中还没有此标记,那么这就足够了:
var html = "<div class='checkbox'>"+
" <label>"+
" <input type='checkbox' name='optionsRadios' id='optionsRadios1' value='option1'>"+
" <input class='inputone' id='optionsRadios1text' type='text'>"+
" </label>"+
"</div>"
var childs = document.getElementById('childs')
childs.innerHTML = childs.innerHTML + html
和代码:
var btn = document.getElementById('btn')
, children = document.getElementById('children')
, cb = document.getElementById('cb')
btn.addEventListener('click', add)
function add() {
var n = cb.cloneNode(true)
n.style.display = '';
children.appendChild(n)
}
看
但是请注意,您在“模板”中使用了id
属性,因此在多次插入之后,您将拥有具有相同id的多个元素。
您可能需要更新该属性和/或仅使用name
属性
否则,您可以在DOM中查询该子节点,并使用一个appendChild调用将其插入。如果您在DOM中还没有此标记,只需执行以下操作即可:
var html = "<div class='checkbox'>"+
" <label>"+
" <input type='checkbox' name='optionsRadios' id='optionsRadios1' value='option1'>"+
" <input class='inputone' id='optionsRadios1text' type='text'>"+
" </label>"+
"</div>"
var childs = document.getElementById('childs')
childs.innerHTML = childs.innerHTML + html
和代码:
var btn = document.getElementById('btn')
, children = document.getElementById('children')
, cb = document.getElementById('cb')
btn.addEventListener('click', add)
function add() {
var n = cb.cloneNode(true)
n.style.display = '';
children.appendChild(n)
}
看
但是请注意,您在“模板”中使用了id
属性,因此在多次插入之后,您将拥有具有相同id的多个元素。
您可能需要更新该属性和/或仅使用name
属性
否则,您可以在DOM中查询该子节点,并使用一个appendChild调用将其插入。如果您在DOM中还没有此标记,只需执行以下操作即可:
var html = "<div class='checkbox'>"+
" <label>"+
" <input type='checkbox' name='optionsRadios' id='optionsRadios1' value='option1'>"+
" <input class='inputone' id='optionsRadios1text' type='text'>"+
" </label>"+
"</div>"
var childs = document.getElementById('childs')
childs.innerHTML = childs.innerHTML + html
和代码:
var btn = document.getElementById('btn')
, children = document.getElementById('children')
, cb = document.getElementById('cb')
btn.addEventListener('click', add)
function add() {
var n = cb.cloneNode(true)
n.style.display = '';
children.appendChild(n)
}
看
但是请注意,您在“模板”中使用了id
属性,因此在多次插入之后,您将拥有具有相同id的多个元素。
您可能需要更新该属性和/或仅使用name
属性
否则,您可以在DOM中查询该子节点,并使用一个appendChild调用将其插入。如果您在DOM中还没有此标记,只需执行以下操作即可:
var html = "<div class='checkbox'>"+
" <label>"+
" <input type='checkbox' name='optionsRadios' id='optionsRadios1' value='option1'>"+
" <input class='inputone' id='optionsRadios1text' type='text'>"+
" </label>"+
"</div>"
var childs = document.getElementById('childs')
childs.innerHTML = childs.innerHTML + html
和代码:
var btn = document.getElementById('btn')
, children = document.getElementById('children')
, cb = document.getElementById('cb')
btn.addEventListener('click', add)
function add() {
var n = cb.cloneNode(true)
n.style.display = '';
children.appendChild(n)
}
看
但是请注意,您在“模板”中使用了id
属性,因此在多次插入之后,您将拥有具有相同id的多个元素。
您可能需要更新该属性和/或仅使用name
属性
否则,您可以查询该子节点的DOM并用一个appendChild调用插入它。就像将标记放入字符串并注入它一样?您只需要一个appendChild
,类似于document.getElementById('childs').appendChild(document.querySelector('.checkbox'))
像将标记放入字符串并注入吗?您只需要一个appendChild
,类似于document.getElementById('childs').appendChild(document.querySelector('.checkbox'))
像将标记放入字符串并注入吗?您只需要一个appendChild
,类似于document.getElementById>('childs').appendChild(document.querySelector('.checkbox'))
类似于将标记放入字符串并注入它吗?您只需要一个appendChild
,类似于document.getElementById('childs').appendChild(document.querySelector('.checkbox'))
我已经有多个.checkbox元素,但我只是尝试了,它不起作用。为什么?@xRobot-嗯,这是不同的,如果你有多个.checkbox
元素,你应该这么说,因为这需要迭代和多个appendChild
我已经有多个.checkbox元素,但我只是尝试了,它不起作用。为什么?@xRobot-嗯,如果你有多个.checkbox
元素,那就不一样了,你应该这么说,因为那需要迭代和多个appendChild
我已经有多个.checkbox元素了,但我只是尝试了一下,它不起作用。为什么?@xRobot-嗯,如果你有多个.checkbox
元素,那就不一样了nts您应该这么说,因为这需要迭代和多个appendChild
我已经有多个.checkbox元素,但我只是尝试了一下,它不起作用。为什么?@xRobot-嗯,这是不同的,如果您有多个.checkbox
元素,您应该这么说,因为这需要迭代和多个appendChild
刚尝试过,但它替换了中的所有其他元素。起初是空的,但随后不是空的。它重置了所有值:(我添加了完整的示例。请参阅更新的应答名称不必是唯一的。但是如果您将其发布到服务器,则具有相同内容的多个元素将是最后一个发布的元素,或者您可以将名称更改为'something[]'它将生成一个数组。我建议您去阅读MDN关于DOM和窗体的说明。刚刚尝试过,但它会替换中的所有其他元素。起初为空,但随后为空。它会重置所有值:(我添加了fiddle with full example。请参阅更新的应答器名称不必是唯一的。但如果您将其发布到服务器,则具有相同名称的多个元素将是最后一个发布的元素,或者,您可以将名称更改为“某物[]'它将生成一个数组。我建议您去阅读MDN关于DOM和窗体的说明。刚刚尝试过,但它会替换中的所有其他元素。起初为空,但随后为空。它会重置所有值:(我添加了fiddle with full example。请参阅更新的应答器名称不必是唯一的。但如果您将其发布到服务器,则具有相同名称的多个元素将是最后一个发布的元素,或者,您可以将名称更改为“某物[]“它将生成一个数组。我建议您去阅读MDN关于DOM和窗体的说明。刚刚尝试过,但它会替换中的所有其他元素。最初为空,但随后为空。它会重置所有值。”