Javascript “数据角色中断”;对于循环';为什么?

Javascript “数据角色中断”;对于循环';为什么?,javascript,for-loop,Javascript,For Loop,将数据角色=“listview”添加到此html时: <ul id="mylinks" class="options" data-role="listview"> 它打破了我的“循环”。我用警报检查了“lis.length”,它仍然保留着数值。我还使用jquery mobile js 为什么我的“for循环”在添加数据角色时不起作用,以及我如何解决这个问题。是否有其他方法运行此循环 <script type="text/javascript"> window.onl

将数据角色=“listview”添加到此html时:

<ul id="mylinks" class="options" data-role="listview">
它打破了我的“循环”。我用警报检查了“lis.length”,它仍然保留着数值。我还使用jquery mobile js

为什么我的“for循环”在添加数据角色时不起作用,以及我如何解决这个问题。是否有其他方法运行此循环

<script type="text/javascript">
window.onload=function()
{
    var ul = document.getElementById("mylinks");
    var lis = ul.getElementsByTagName("li");
    alert(lis.length);
    var url = "http://" + window.location.host + "/mobile/";
    var NEWurl = "http://www.sportingpulse.com/mobile/";
    for( var i = 0; i < lis.length; i++ );
    {
        lis.item(i).childNodes[0].href = lis.item(i).childNodes[0].href.replace(url,     NEWurl);
        alert("working")
    }
}
</script>

window.onload=function()
{
var ul=document.getElementById(“myLink”);
var lis=ul.getElementsByTagName(“li”);
警报(lis.长度);
var url=“http://”+window.location.host+“/mobile/”;
var NEWurl=”http://www.sportingpulse.com/mobile/";
对于(变量i=0;i
你有一个不受欢迎的分号

for( var i = 0; i < lis.length; i++ );
for(变量i=0;i
应该是

for( var i = 0; i < lis.length; i++ )
for(变量i=0;i
您是否已经检查了FireFox、Chrome或Safari的错误控制台?为什么需要使用
.replace()
?为什么不直接分配URL呢?您确定
  • 元素的第一个子节点实际上是一个
    ?换行符或空格之类的东西会在DOM中产生文本节点。Pointy说得对,他说你不能确定下一个chilnode是否是链接。使用:“lis.item(i).getElementsByTagName(“a”)[0].href”代替“lis.item(i).childnode[0].href”是的,就是这样。添加一条评论,他只需删除for()中的分号就足够了^^