复选框动态添加到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()标签元素时创建的空间。
答案 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');