var all = document.getElementsByTagName('img');
for(i = 0; i < all.length; i++){
var newimg;
(newimg=document.createElement('div')).style.cssText="display:inline;width:"+all[i].width+"px;height:"+all[i].width+"px;background-image:url("+all[i].src+");";
all[i].parentNode.replaceChild(newimg, all[i]);
}
僅替換4個示例圖像(test1.jpg到test4.jpg)中的兩幅圖像(1和3),並且不顯示任何div背景。 我在做這個錯嗎?用div替換所有圖像背景元素
到目前爲止已經產生的輸出結果:
<div style="display: inline; width: 400px; height: 400px; background-image: url("http://localhost/test1.jpg");"></div>
<img src="test2.jpg">
<div style="display: inline; width: 796px; height: 796px; background-image: url("http://localhost/test3.jpg");"></div>
<img src="test4.jpg">
的感謝!
是否真的用"實體取代了你的雙引號?或者只是一個stackoverflow格式化工件? – 2010-11-03 05:36:52
不存在引號 - 如果您要寫入代碼url('「+ url +」') - 生成的輸出將是相同的。我猜javascript中的渲染器只是默認添加了這個。 – Tobias 2010-11-03 05:41:25
cssText =「background-image:url(」+ all [i] .src +「);」;結果如下:cssText =「background-image:url('」+ all [i] .src +「');」;或者:cssText =「background-image:url(\」「+ all [i] .src +」\「);」; – Tobias 2010-11-03 05:42:44