删除div旁边的聚焦输入字段

时间:2009-12-01 15:00:40

标签: javascript

我的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。

以及删除后如何关注输入字段。

谢谢。

3 个答案:

答案 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
}