【发布时间】:2015-06-29 20:37:23
【问题描述】:
我正在开发一个 Chrome 扩展程序,并且需要一个功能,以便我想尽快(在加载之前)获取所有可见图像,隐藏它们并设置一些属性。我一直在尝试这个:
$(document).ready(function () {
$('img:visible').each(function() {
$(this).css('visibility', 'hidden');
$(this).attr('data-internalid', guid());
});
});
但是在调试时,我注意到它甚至没有遍历循环。我在这里缺少什么?
【问题讨论】:
-
你试过检查
$('img:visible')返回什么? -
它返回这个 [prevObject: n.fn.init[1], context: document, selector: "img:visible", jquery: "2.1.3", constructor: function...]context:文档长度:0prevObject:n.fn.init[1]选择器:“img:visible”proto:n[0]
-
可能会尝试另一种选择 => 1) 为您想要设置属性的图像设置一个类,2) 在 CSS 中将
display:none;设置为该类,3) 在加载时,设置您的属性,然后显示这些图像。 -
此外,来自文档:如果元素占用了文档中的空间,则它们被认为是可见的。可见元素的宽度或高度大于零。。因此,在文档准备就绪时,所有图像都没有加载,这可能是失败的原因。你可能想试试
$(window).on('load', ... -
@LShetty 你应该把它变成一个答案
标签: javascript jquery image google-chrome-extension hide