jquery - 显示按钮的问题

标签 jquery css

这是一个 div,它有一个 span 和一个按钮。该跨度包含一个复选框及其文本。

<div style="margin-top:10px;" id="dvCopysave">
    <span id="spancopy">
        <input type="checkbox" id="DynamicCopy" class="checkall" style="font-size: medium;border-width:medium;margin-left:375px" onclick="DynamicCopy_Onclick()" />
        <b> Copy data to other panels </b> &nbsp; &nbsp;
    </span>
    <button id="DynamicAdd" type="button" onclick="DynamicSave_Onclick()">
        Save
    </button>
</div>

在 doucment.ready 中,有一个条件检查和管理可见性:

if (@Model.Target == 2)//Inspection details ->questions
{
    var panels='@Model.srPanelList';
    var lst=panels.split('|');

    $("#id").css("display", "none");

    if(lst.length-1>1)
    {
        document.getElementById("spancopy").style.visibility='visible';              
    }
    else
    {
        document.getElementById("spancopy").style.visibility='hidden';               
    }
}

一切正常,但是当 spancopy 不可见时,保存按钮的位置没有改变,它仍然是一样的。所以外观有小问题.....

最佳答案

那是因为 ...style.visibility='hidden'visibility:hidden 表示该元素在页面上看不到,但分配了空间,因此占用了空间。因此,您需要使用 display 而不是 visibility,例如:

...
if(lst.length-1>1)
{
    document.getElementById("spancopy").style.display='block';              
}
else
{
    document.getElementById("spancopy").style.display='none';               
}
...

display:none 使元素消失,没有分配空间。

关于jquery - 显示按钮的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45407675/

相关文章:

javascript - "Tag is missing a name"带 Razor

html - 为什么我不能在我的 div 中居中我的图像?我的 div 居中图像不是

css - SVG : viewbox property strech text inside

css - 当父 div 有背景图片时,如何添加框阴影?

html - 如何使 CSS Slider 自动播放

html - 在视口(viewport)中垂直和水平居中 HTML 元素的最佳方法是什么?

java - 使用 CORS 的跨域 ajax 请求

具有多个分组的 Javascript 网格

javascript - 将 Jquery 转换为 Javascript

javascript - undefined reference - jQuery 选择器与 JavaScript 变量