Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-在文档就绪时仅隐藏可见图像(加载前)_Javascript_Jquery_Image_Google Chrome Extension_Hide - Fatal编程技术网

Javascript jQuery-在文档就绪时仅隐藏可见图像(加载前)

Javascript jQuery-在文档就绪时仅隐藏可见图像(加载前),javascript,jquery,image,google-chrome-extension,hide,Javascript,Jquery,Image,Google Chrome Extension,Hide,我正在开发一个Chrome扩展,需要一个功能,以便我希望尽快(在加载之前)获取所有可见图像,隐藏它们并设置一些属性。我一直在尝试: $(document).ready(function () { $('img:visible').each(function() { $(this).css('visibility', 'hidden'); $(this).attr('data-internalid', guid()); }); }); 但是在调试时

我正在开发一个Chrome扩展,需要一个功能,以便我希望尽快(在加载之前)获取所有可见图像,隐藏它们并设置一些属性。我一直在尝试:

$(document).ready(function () {
    $('img:visible').each(function() {
        $(this).css('visibility', 'hidden');
        $(this).attr('data-internalid', guid());
    });
});
但是在调试时,我注意到它甚至没有遍历循环。我在这里遗漏了什么?

检查返回的内容
$(此)
, 使用控制台日志

$(document).ready(function (index) {
    $('img:visible').each(function() {
        $(this).css('visibility', 'hidden');
        $(this).attr('data-internalid', "test"); /*instead of guid().I think that function have some problem.Make sure it is defined or loaded properly*/
    });
});
问题在于guid()函数。此代码在firefox和chrome上运行良好。请检查该函数。如果问题未解决,请在jquery脱机时更新它,否则请提供guid()函数

$(函数(){
//$(“#btn”)。单击(函数(){
$('img:visible')。每个(函数(){
$(this.css('visibility','hidden');
$(this.attr('data-internalid',“test”);
});
//  });
});
img{
宽度:100px;
高度:100px;
利润率:10px
}
跨度{
显示:块;
光标:指针;
}


正如我在评论中提到的,点击我

如果元素占用文档中的空间,则认为它们是可见的。可见元素的宽度或高度大于零

所以,你的选择之一就是使用

$(window).on('load', function() { ... });
您也可以尝试其他方法,例如以下方法

  • 为以后要设置属性的所有图像创建一个类
  • 设置<代码>显示:无到CSS中的特定类
  • 加载时(查看第一个选项),设置属性,然后通过删除类(推荐)或设置内联样式(不美观)来显示这些图像

  • 希望这是清楚的:)

    你试过检查
    $('img:visible')
    返回什么吗?它返回这个[prevObject:n.fn.init[1],上下文:文档,选择器:“img:visible”,jquery:“2.1.3”,构造函数:函数…]上下文:文档长度:0prevObject:n.fn.init[1]选择器:“img:visible”proto:n[0]可以尝试另一种方法=>1)为要设置属性的图像设置一个类,2)设置
    display:none到CSS中的该类,3)加载时,设置属性,然后显示这些图像。此外,从doc:元素如果占用文档中的空间,则认为它们是可见的。可见元素的宽度或高度大于零。。因此,在doc ready上,未加载所有图像,这可能是失败的原因。你可能想试试
    $(window)。在('load',…
    @LShetty)上,你应该把它变成一个答案。正如我说的,它根本不会在循环中迭代。这个函数非常简单,而且加载正确。这个函数在chrome中进行了测试,firefoxI没有让它“没用”为了提问,我只是尝试了一下,但没有成功。我也对那一行进行了注释,但仍然是相同的。现在检查一下。然后运行代码段。$(function(){})是$(document.ready(function(){})的缩写