我的HTML就像这样
<td>
<input type="text" class="textinput" id="file_descr_0" name="file_descr[0]" value='' />
<div id="mean" onClick="removeElement('mean');">{L_FileDescr}</div>
</td>
并删除div我正在使用此功能
function removeElement(div){
var d2 = document.getElementById(div);
var d1 = d2.parentNode;
d1.removeChild(d2);
}
我想知道如何使这个删除元素动态化,因为有很多div要删除,因为这个函数我必须给每个人一个id。
以及删除后如何关注输入字段。
谢谢。
答案 0 :(得分:4)
<div onClick="removeElement(this);">{L_FileDescr}</div>
function removeElement(d2){
var d1 = d2.parentNode;
d1.removeChild(d2);
// edit. also:
d1.nextSibling.firstChild.focus();
}
答案 1 :(得分:0)
您可以传递该事件并使用event.target
function removeElement(event) {
//...
}
onclick只是onclick =“removeElement”
答案 2 :(得分:0)
如果输入始终是div之前的元素,则可以执行类似
的操作<input type="text" />
<div onClick="removeElementAndFocusInput(this);">stuff</div>
function removeElementAndFocusInput(elem){
var toRemove = elem;
toRemove.previousSibling.focus() // set focus to the input
var parent = toRemove.parentNode;
parent.removeChild(toRemove); // remove the div
}