我正在使用remove()
删除元素(<li>
设置为display: inline;
,尽管display: block;
}似乎存在同样的问题,而元素从页面中删除它占用的空间不是。
这是标准行为吗?我应该使用其他方法吗? <li>
包含一个表单字段,因此我希望理想情况下不会将此表单字段发送到服务器 - 因此使用remove()
代替hide()
。
答案 0 :(得分:4)
您遇到的不是标准行为。从DOM中删除元素时,也应删除占用的空间
答案 1 :(得分:2)
这可能是其中一个原因。元素后面可能有break标记。您可能只隐藏/删除元素,但仍会保留中断标记,这会导致空白空间。
例如:
<div id="one">Blah Blah</div>
<br/>
<div id="two">Blah Blah</div>
<br/>
<div id="three">Blah Blah</div>
<br/>
<div id="four">Blah Blah</div>
如果隐藏/删除div id“3”,将会有3个不必要的中断标记。
想象一下这样一个很长的列表,它是用你的代码和隐藏的20个元素生成的,然后会有20个break标记创建空块。
要解决此问题,请向所有这些div添加一个类,并为style属性'padding'