<html><script>(这写什么 呢)</script><div><img src="a.jpg" ></div><div><img src="b.jpg" ></div>...</html>
如上所示,页面中DIV的数量很多,可能上千个。而且DIV没有ID,没有CLASS属性,重点是DIV和DIV内的内容不能修改。请问:如何在页 面加一段JS代码,使得页面中所有DIV的图片不加载呢。只加载空的DIV也行,直接去掉DIV也行。总之图片的容量很大,目的是让用户不看到图片。减小 对图片服务器的压力。
难点主要是DIV和DIV的内容都不能修改。只加一段JS代码。
方法不知道有没有可能通过在DIV元素加载的事件里面取消IMG的内容,或者中断a.jpg的请求之类的。 jQury中的$(document).ready(function) 当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件,所以这个事件满足不了这个需求;
豆子全部奉上,谢谢
看看我在你上个问题里回答的方案啊
$(document).ready(function(){
是这样的。当READY方法执行的时候,图片已经完全呈现了。其实我想不要下载图片
@ming211n1: 不是这个
是用ajax取到页面的源代码,然后替换里面的img标签这个方法
@ming211n1:
可以试试用ajax获得html内容,然后替换里面的img标签,在展示在页面上。
比如页面1
<html>
<head>
--引用jquery
<script>
$(document).ready(function(){
$.ajax({
cache:false,
type:"get",
url:页面2的url,
success:function(data){
$("div").html(data.replace("<img","<noimg"));--这步需要替换页面2html内容中的图片标签
}
});
});
</script>
</head>
<body>
<div></div>
</body>
</html>
页面2就是你需要处理的页面(和页面1在同一域名)
楼主表示,$(document).ready我都看烦了,能不能动手试下再回答。。。
注明一下,这句话不是楼主说的
只能是动态替换src,但是动态替换src会造成在不同浏览器下对图片解析呈现的方式不一样,比如Chrome是加载多少呈现多少,FF是等加载完 一下子呈现出来,一般我们用动态 append img元素来做。
$("img").each(function(){ $(this).attr("dataSrc",$(this).attr("src")); $(this).attr("src",""); });
补充:将上述代码放在一个functino中,在文件jq文件引用后面加入script,并执行此方法。