关于javascript:jquery清除div中的空格.remove()

jquery clear the space in div after .remove()

复选框将动态添加到div1:

1
2
3
$.each(json, function(idx, obj) {

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

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

1
2
3
$.each(json, function(idx, obj) {

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

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

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

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

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

如何在删除内容的同时删除空间。删除后刷新/重新加载DIV是否有效?

如果是,那么语法如何。我不想再访问数据库/调用onclick fn。只需刷新DIV即可删除在label元素的.remove()期间创建的空间。


第一个答案就行了。要删除,只需执行以下操作:

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

如果你有更多的身份证:

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


1
.remove()

会有用的。但要确保所有的部件特别是

1
<br/>

etc被放在父元素中并被移除。然后空间问题得到解决。下一个附加将附加到DIV中的正确空间。


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

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

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

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