到目前爲止,我發現如何用html頁面上的另一個元素替換元素。但是我的功能正在以一種奇怪的方式工作。首先它會取代第一和第三張圖片。如果我再次調用它,它只會替換第二個圖像。再次按下按鈕使最後的第四個圖像替換。有人對此有任何想法?這裏的來源:http://pastie.org/5502630 在這裏你可以看到它是如何工作的:http://clubnights.square7.ch/webtech/a2.html使用javascript替代圖像alt-text
回答
隨着每次通過for
循環,你從images[]
數組中刪除所述第一圖像。這會將數組內容和數組長度更改爲循環中的條件。
例如,透過第一環路移除images[0]
,ausdruck_1.gif - 但是現在images.length等於3,而不是4,並且陣列中的內容現在是:
images[0]=ausdruck_2.gif
images[1]=ausdruck_3.gif
images[2]=ausdurck_4.gif
你的第二次通過循環刪除images[1]
- 現在ausdruck_3.gif - 並進一步將圖像數組的長度更改爲2,因此i的下一個增量爲2會導致循環退出。
我創建了一個jsfiddle顯示更改爲語句的一個可能的解決方案:
for(i = images.length-1; i >=0; i--)
,並通過以相反的順序圖像循環。
另一個類似的解決方案:使用while循環每次獲取列表中的最後一個圖像。 http://jsfiddle.net/VDqGF/3/ – Stuart
@Joe Oravec 你可以說這個解決方案嗎? http://jsfiddle.net/VDqGF/5/ 我剛剛刪除了增量語句 –
你正在修改圖像列表,當你迭代它。所以當你嘗試訪問圖像陣列時,它不是你想象的那樣!下面是一個可能的解決方法..
function Convert()
{
images = window.document.getElementsByTagName('img');
var num_images = images.length;
for (var i = 0; i < num_images; i++)
{
var image = images[0];
textReplacement = document.createTextNode(image.getAttribute('alt'));
image.parentNode.replaceChild(textReplacement, image);
}
}
- 1. 用JavaScript代替斷開的twitter圖像?
- 2. 替代圖像地圖(也許在JavaScript?)
- 3. javascript替代使用地圖和區域來映射圖像
- 4. 用javascript替換圖像
- 5. 用javascript替換圖像
- 6. 用圖像替換javascript context.arc
- 7. 使用JavaScript替換DIV中的圖像
- 8. 使用Javascript代替base64圖像的所有html內容
- 9. 使用替代文字鏈接圖像
- 10. setImageROI使用MAT圖像代替的IplImage
- 11. 使用CSS漸變代替圖像
- 12. Preg使用回調代替圖像src
- 13. JavaScript圖像替換
- 14. 替代物使用JavaScript
- 15. textarea替代使用javascript/css
- 16. 使用javascript代替jquery
- 17. 用Javascript代替「
- 18. JQuery/Javascript圖像替換
- 19. 用jQuery或JavaScript代替破碎的圖像
- 20. 如何在HTML文檔中用JavaScript代替破碎的圖像?
- 21. JavaScript試圖替代backgroundImage
- 22. Odoo顯示圖像替代
- 23. JasperReports中的圖像替代
- 24. 顯示替代圖像
- 25. 替代預加載圖像
- 26. 使用gtk.image.set_from_file替換圖像
- 27. 用javascript替換文字圖像
- 28. 用JavaScript代替CSS
- 29. 用AJAX替代JavaScript
- 30. 用javascript代替onmousedown
有沒有人有一個想法,如何使圖片再次出現在第二次點擊? –