2016-07-12 71 views
2

我有一個在這裏與裏面的導航是一個錨標記和跨度由文本組成。我想實現的是用jquery replaceWith替換nav中的所有span,但是我似乎無法使其工作。這是我製作的代碼。任何想法我的錯誤是什麼?replaceWith jquery不能工作,如果超過2張圖片

<script> 
$(document).ready(function() { 
    //store img in an array. 
    var imgArray= [ "<img class=\"imgNav\" src=\"https://irp-cdn.multiscreensite.com/abc3fe9a/dms3rep/multi/services_icon_1-123x123.png\"/>", 
    "<img class=\"imgNav\" src=\"https://irp-cdn.multiscreensite.com/abc3fe9a/dms3rep/multi/services_icon_4-123x123.png\"/>","<img class=\"imgNav\" src=\"https://irp-cdn.multiscreensite.com/abc3fe9a/dms3rep/multi/services_icon_66-123x123.png\"/>" ]; 



     $('.dmUDNavigationItem_010101661768 > span.navItemText').replaceWith(imgArray[0]); 
     $('.dmUDNavigationItem_010101628177 > span.navItemText').replaceWith(imgArray[1]); 
     /* if I put this third one in the script it doesn't work. 
     $('.dmUDNavigationItem_010101420041 > span.navItemText').replaceWith(imgArray[2]); 
     */ 



}); 
</script> 

這是我在jsbin中的HTML鏈接。 http://jsbin.com/magofarivi/edit?html,output

+0

這應該是有效的。以下是使用JS的簡化示例:[Codepen](http://codepen.io/anon/pen/RRjAvG)。我的猜測會是你的班級名稱在第三個班級中不正確,但是由於沒有提供html,所以我們無法判斷。此外,它是否需要在一個循環?現在,它將爲每個選擇器運行這三個不同的'replaceWith()'調用。 –

+0

我在我的第一次試驗中使用forloop來console.log img數組。 – icedoge

+0

請只提供相關的代碼。如果您不再使用它,則不應將其包含在問題中。此外,您的代碼仍然可以像JS Bin中的html一樣運行。它一定是別的東西。 [Codepen](http://codepen.io/anon/pen/BzmKqq) –

回答

0

爲什麼?因爲一旦你替換循環的第一次迭代中這些元素......他們不再存在進一步的迭代

被替換

的你正在嘗試做的總體範圍不清晰無樣本HTML提供