gpt4 book ai didi

javascript - 从中删除元素时如何删除div的高度

转载 作者:太空宇宙 更新时间:2023-11-03 23:10:57 25 4
gpt4 key购买 nike

我在 div 中显示元素列表。单击任何项​​目时,它将附加到上面的 div。我没有为这个 div 设置任何高度。这里的元素将在每个元素旁边显示一个删除图标。删除后,该特定元素将附加到其来源下方的 div。现在的问题是,随着元素添加到上面的 div,它的高度会增加,一旦元素被删除,我预计高度也会降低,但它保持不变。因此,当我在上面的 div 中添加一个元素时,它会变得更长。如何删除第一个 div 的高度?

下图描述了流程:最后一张图显示了从第一个红色框中删除所有元素并添加新元素后发生的情况。

enter image description here enter image description here enter image description here

这是我的代码,用于说明单击删除按钮时发生的情况。

 function hide_rate(param)
{

//remove item
$("#wrapper_"+param).text(" ");
$("input[name=rate_"+param+"]").val(" ");
$("input[name=rate_"+param+"]").empty();
$(".cross_"+param).text(" ");
$("#moveItem").css("background-color","#ff0000");
//add back removed item

$("#displaySubItems").append($(".sub_"+param+" span").text()+"<br/>");

}

最佳答案

使用函数 empty() :保留 DOM 中的元素,例如:

<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>

$("div.hello").empty();

只会从 div 中删除文本 Hello,从而保留 div,从而保留 SPACE

ie. it wil result in
<div class="hello"></div>
<div class="goodbye">Goodbye</div>

但是,使用 remove() 将从 DOM 中删除元素,因此将消除由于使用 empty() 而保留的空间。

所以,使用$("div.hello").remove(); 以获得所需的输出,即。

<div class="goodbye">Goodbye</div>

关于javascript - 从中删除元素时如何删除div的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32600785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com