您好,我想在表单中的 filedset 之后放置一个 div,但该表单有另一个容器元素,并且 fieldst 的高度不固定,它会随着其中的内容而变化。 我用 jQuery 做了这个但是不起作用。哦,我不能将 div 放在表单中,因为该 div 包含另一个表单。
<script>
$(function(){
var heightOfform = document.getElementById("form").scrollHeight;
var heightOffsomethingafter = document.getElementById("somethingafter").scrollHeight;
document.getElementById("divtoposition").css('top', (heightOfform-heightOffsomethingafter)+'px');
});
</script>
<style>
#all {position:relative;}
#divtoposition {position:absolute;}
</style>
<div id="all">
<div id="divtoposition"><form></form></div>
<div id="formcontainer">
<form id="form">
<fieldset id="afterthis"></fieldset>
<div id="somethingafter"></div>
</form>
</div>
</div>
最佳答案
我认为答案很复杂,但您能解释一下为什么您要放置的 div 中有一个表单吗?它有什么作用?可以用另一种方式完成吗?你不能把一个表格放在一个表格里,这样就不行了。您可以将 DivToPosition 的顶部设置为 100px,然后让 jquery 获取字段集的高度。如果字段集的高度为 150px,您可以让 Js 将 150 添加到 100,现在 DivToPosition 的高度为 250px;
<script>
$(function(){
var divtopositionTop = 100,
fieldsetHeight = $('#afterthis').height();
$('#divtoposition').css('top', divtopositionTop+fieldsetHeight+'px');
})
</script>
只是一个可以做到的例子。必须在文档准备就绪时完成,以便设置高度。但是,这可能会导致位置快速变化,即元素在应用样式时从一个位置移动到另一个位置。
关于jquery - 在表单中的另一个元素之后放置 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11377049/