jquery在div之后清除div中的空格.remove()

时间:2013-11-27 09:57:16

标签: javascript jquery ajax jsp checkbox

复选框动态添加到div1:

$.each(json, function(idx, obj) {

$("#tbl1").append('<input type="checkbox" id='+obj.firstId+' onclick=nextPopulate('+obj.firstId+'); >'); }

选择这些后,复选框将动态添加到div2:

$.each(json, function(idx, obj) {

$("#tbl2").append('<label id="chk'+firstId+'"><input type="checkbox" id="'+firstId+'-'+secondId+'" ></label>'); }

取消选中div1中的复选框后,将删除在div2中创建的相应复选框(标签元素):

if(!($('#'+firstId).is(':checked')))

    $("[id^=chk"+firstId+"]").remove();

Lable内容被删除。但是,空间仍然存在。如果我再次在div1中选择,div2中的复选框将仅在此空白空间之后创建。

如何在删除内容时删除空格。 删除后刷新/重新加载div会起作用吗?

如果是,那么语法是怎样的。我不想打数据库/再次调用onclick fn。只需刷新div即可删除.remove()标签元素时创建的空间。

3 个答案:

答案 0 :(得分:0)

“。remove()”函数用于从调用的元素中删除子元素,而不是删除调用的元素。因此,使用下面的代码,仅删除复选框输入元素,而标签元素仍然保留。

$("[id^=chk"+firstId+"]").remove();

调用remove()的元素应为“tbl2”,并将参数“[id ^ = chk”+ firstId +“]”发送到函数中,以定义要移除的子元素,如下所示:

$("#tbl2").remove("[id^=chk"+firstId+"]");

答案 1 :(得分:0)

.remove()

会奏效。但要确保所有组件特别是

<br/>

等放在父元素中,然后删除它。然后解决了空间问题。下一个追加将附加到div中的正确空格。

答案 2 :(得分:0)

第一个答案将起作用。要删除<br>,只需执行以下操作:

$('br').remove(); // https://stackoverflow.com/questions/2513848/how-to-remove-nbsp-and-br-using-javascript-or-jquery

如果您有更多ID:

$("[id^=chk"+firstId+"]").remove('br');