Javascript:向dom添加和删除元素
我正在尝试向html动态添加新元素。但我现在被困在“第二层”。它从一个单独的div开始,新元素将存储在:Javascript:向dom添加和删除元素,javascript,html,Javascript,Html,我正在尝试向html动态添加新元素。但我现在被困在“第二层”。它从一个单独的div开始,新元素将存储在: <div id="inputquestions"></div> 当我单击一个按钮时,新元素将通过一个javascript函数添加到div中,该函数如下所示 function addQuestion() { var div = document.createElement('div'); qu
<div id="inputquestions"></div>
当我单击一个按钮时,新元素将通过一个javascript函数添加到div中,该函数如下所示
function addQuestion() {
var div = document.createElement('div');
questionID++; // increment questionID to get a unique ID for the new element
div.className = 'newQuestion';
div.id = 'newQuestionID';
div.innerHTML =
"<div class='input-group'>" +
"<input id='question-" + questionID + "' class='form-control' name='questionbox' type='text' placeholder='New Question'/>" +
"<button class='btn btn-secondary' onclick='removeQuestion(this.parentNode)' type='button'>Remove</button>" +
"</div>" +
"<div class='btn-group' role='group' aria-label='Basic example'>" +
"<button class='btn btn-secondary' onclick='addRadioButton()' type='button'>+ Radiobutton</button>" +
"</div>";
document.getElementById('inputquestions').appendChild(div);
}
函数addQuestion(){
var div=document.createElement('div');
questionID++;//递增questionID以获取新元素的唯一ID
div.className='newQuestion';
div.id='newQuestionID';
div.innerHTML=
"" +
"" +
“删除”+
"" +
"" +
“+单选按钮”+
"";
document.getElementById('inputquestions').appendChild(div);
}
这将在第一个div中创建多个div,我现在希望每个div分别为它们创建新div,但不知道如何执行。我的函数
addRadioButton()
必须是什么样子才能使新的div出现在我按下按钮的div中?在您的函数addRadioButton()
中,您可以查看event.target.parentElement
以获取包含单击的
的
然后将新元素添加到该
中。请指定您的答案或提供一个简短的代码段好吗?@intervalia遗漏的是,您可以假设addRadioButton将有一个“this”,您可以将其作为参数传递到click handler函数中:一旦有触发click的元素,您就可以使用它访问父元素。我没有遗漏它。我发现event.target
在所有情况下都更可靠。