如何通过单击另一个元素来控制最近添加的元素?

时间:2016-10-10 23:55:36

标签: javascript jquery html

我使用追加函数创建c_box_id div块。

var c_box =  '<div id="c_box_id">...</div>';
$("#p_div").append(c_box);

我有一个锚标记来触发删除此框的功能。

<a href="javascript:void()" onclick = "remove_c_box(c_box_id)">Remove</a>

function remove_c_box(name) {
    name = "#" + name;
    $(name).remove() // This doesn't work because c_box_id is a dynamic element
}

我无法使用下面的事件委派删除c_box_id,因为它未被点击。

 $('body').on('click', '#c_box_id', function(){
     //...
 });

如何通过单击上面的锚标记来删除c_box块?

*** c_box_id不是固定字符串。它是为一组锚标记和div块随机生成的。

例如:

<div class="ajxiu2"> </div>
<a href="javascript:void()" onclick = "remove_c_box('ajxiu2')">Remove</a>

<div class="sd5iu2"> </div>
<a href="javascript:void()" onclick = "remove_c_box('sd5iu2')">Remove</a>

<div class="cxj2c3"> </div>
<a href="javascript:void()" onclick = "remove_c_box('cxj2c3')">Remove</a>

<div class="i5xxas"> </div>
<a href="javascript:void()" onclick = "remove_c_box('i5xxas')">Remove</a>

我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您需要为jQuery ID选择器的id添加#前缀

function remove_c_box(id) {
    $('#' + id).remove() ;
}

并确保在onclick

中引用id字符串
 onclick = "remove_c_box('ajxiu2')"