如何使用JQuery从HTML页面获取img标签和背景图像的所有图像?
我想从HTML页面获取所有图像。 想要从标记源获取所有图像,或者从HTML内容中获取元素背景中的图像。
我怎样才能得到?
您可以循环遍历页面上的所有元素,并检查它是图像还是具有一些图像背景。 这个解决方案的最大问题是它非常慢(但是它的性能可以通过多种方式得到改善)。 这是代码:
$('*').each(function(){ var backImg; if ($(this).is('img')) { console.log($(this).attr('src')); } else { backImg = $(this).css('background-image'); if (backImg != 'none') console.log(backImg.substring(4, backImg.length-1)); } });
从所有图像标签获取图像我认为你可以简单地迭代图像标签
$('img').each(function(){ alert($(this).attr('src')); });
$('img').each(function(){ alert($(this).attr('src')); });
要获取所有背景图像,您必须在所有元素中查找背景属性。
$('*').each(function(){ alert($(this).css('background-image')); });
要从img标签获取图像,请使用此选项
var images = []; $("img").each(function(){ if(this.src){images.push(this.src);} }); $('*').each(function(){ var bg = $(this).css('background-image'); if( bg && bg != 'none'){images.push(bg);} });
使用$('img')
选择页面上的所有标签要从HTML内容中查找所有背景图像,您需要浏览每个元素,检查它是否具有background-image CSS属性,如果是,则记录该值该财产。 我认为它看起来像这样:
$('*').each(function() { if ($(this).css('background-image') != '') //record however you're recording it });