2016-07-12 32 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提供