我在这里有一个导航,里面是一个锚标签和跨度,由文本组成。我想要实现的是使用jquery replaceWith替换nav中的所有span,但是,我似乎无法使其工作。这是我制作的代码。知道我的错误是什么吗?
<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 :(得分:0)
为什么呢?因为只要在循环的第一次迭代中替换这些元素......它们就不再存在以在进一步的迭代中被替换
如果没有提供示例html,您要做的事情的总体范围并不明确