【问题标题】:IMG has 0x0 pixels when src added with jQuery使用 jQuery 添加 src 时,IMG 有 0x0 像素
【发布时间】:2018-12-07 00:20:27
【问题描述】:

我正在制作自定义模式弹出窗口(#light1)。在我的 JavaScript 中,我从单击的图像中获取 src,并将其添加到具有可添加 ID 的 img 标签。

jQuery

var images=$('#raam img'), index=0
$(images).click(function() {
    var src= $(images.eq(index)).attr('src');
    $("#addable").attr('src', src)
    $('#light1').css("display","block")
});

HTML

<div id="raam">                
    <img id="pilt1" src="uudistepildid/1.jpg" alt="1">
    <div id="light1" class="wcontent">
        <img id="addable">
    </div>
</div>

和 CSS

#addable { 
    width: 600px;
    height: 600px; //even forcing doesn't help
}

这一切都很好。当我检查时,它向我显示了正确的 src 和 sytle 的宽度和高度,但它的大小为 0x0,我无法更改它。它甚至告诉我它的自然大小。我留下了问题的快照。

这是检查员显示的内容:

这就是它的样子(我取出了一些无意义的代码,只是为了让它更快阅读);

【问题讨论】:

  • 如果您确实可以向我们展示一些代码,那就太好了。也许是演示?
  • 我试图编辑它。告诉我是否缺少某些内容,我也许可以添加。基本上它只显示空包装器。
  • 在img标签中添加src属性之前有没有试过把$('#light1').css("display","block")
  • 此代码有效。小提琴:jsfiddle.net/e5c4q你的问题在别处..
  • 为什么你总是将 jQuery 对象包裹在更多的 jQuery 对象中?

标签: jquery html image


【解决方案1】:

哇! 看来您似乎已经安装了adblock plus,关闭它。 因为您的图像 id 名称与其消除规则“ad***”匹配,所以它认为这是一个广告,因此它会屏蔽您的图像。

【讨论】:

    【解决方案2】:

    您的图像使用您应用于#raam img 的样式,这会将图像设置为visibility:hidden。当您使用display:block 显示它时,它实际上就在那里(我的意思是您可以访问它的属性,但它不可见)。为了让它显示在屏幕上,您需要将它的visibility 设置为visible

    【讨论】:

    • 我只是将它添加到 CSS #addable { display:block !important; } 像魅力一样工作。再次感谢!
    • 我添加了 !important;到 jquery-ui-1.8.17.custom.css 文件中的 ui-icon。
    猜你喜欢
    • 2018-07-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2014-06-28
    • 2019-04-27
    相关资源
    最近更新 更多