JavaScript的 - 获得“未定义”简单的功能与循环

问题描述:

所以,我似乎无法想出解决办法...的代码基本工作,但我要运行函数得到一个“未定义”之前..JavaScript的 - 获得“未定义”简单的功能与循环

var navRender = function indexNav(x,y) { 

    var mainNav = ["\/", "Inicio","\/abogados-criminales-los-angeles.html", "Defensa Criminal", 
    "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", 
    "\/area-de-practica-abogados.html", "Areas de Practica", 
    "\/abogados-friendman-los-angeles.html", "Abogados Friedman", 
    "\/contactenos.html", "Contactenos"]; 

    for (i = x; i <= y; i++) { 
     document.write("<li class=\"pure-menu-item pure-u-1-3\"><a class=\"pure-menu-link href=\"",mainNav[i]); 
     i++; 
     document.write("\">", mainNav[i] , "<\/a><\/li>"); 
    }; 
}; 

document.getElementById("demo").innerHTML = navRender(0,5); 

</script> 

而且,我不知道为什么我的“正斜杠不工作或者..我与像转义” /” ..但他们仍然可以省略..

感谢您的帮助!

+1

*,但我给函数运行*得到一个 “未定义” 之前 - 在哪里? – Quentin

+0

在浏览器上我得到: 'code'

    undefined
+0

在浏览器上的位置?在开发人员工具的控制台?在HTML文件中?在函数运行之前,这怎么可能是**? – Quentin

这里是做的正确的方式。

var navRender = function indexNav(x, y) { 
 

 
    var mainNav = ["\/", "Inicio", "\/abogados-criminales-los-angeles.html", "Defensa Criminal", "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", "\/area-de-practica-abogados.html", "Areas de Practica", "\/abogados-friendman-los-angeles.html", "Abogados Friedman", "\/contactenos.html", "Contactenos"]; 
 

 
    var html = ""; 
 

 
    for (i = x; i <= y; i = i + 2) { 
 
    html = html + "<li class='pure-menu-item pure-u-1-3'><a class='pure-menu-link' href='" + mainNav[i] + "'>" + mainNav[i + 1] + "</a></li>"; 
 
    }; 
 

 
    return html; 
 
}; 
 
document.getElementById("demo").innerHTML = navRender(0, 5);
<div id="demo"> 
 
</div>

+0

谢谢!而已! –

+0

为什么正斜杠在你的答案和其他方面正常工作,它不?我得到你的脚本..但我没有看到正斜杠转义 –

+0

@JhonatanVillena:我已经重新格式化的语法。查看我的答案,了解如何做到这一点。您可以使用单引号(''')而不是转义双引号(即'\“')。 – Pugazh

=>删除i ++ from for循环。因为它也是for循环中的加号。

var navRender = function indexNav(x,y) { 
 

 
    var mainNav = ["\/", "Inicio","\/abogados-criminales-los-angeles.html", "Defensa Criminal", 
 
    "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", 
 
    "\/area-de-practica-abogados.html", "Areas de Practica", 
 
    "\/abogados-friendman-los-angeles.html", "Abogados Friedman", 
 
    "\/contactenos.html", "Contactenos"]; 
 

 
    for (i = x; i <= y; i++) 
 
    { 
 
     document.write("<li class=\"pure-menu-item pure-u-1-3\"><a class=\"pure-menu-link href=\"",mainNav[i]); 
 
     document.write("\">", mainNav[i] , "<\/a><\/li>"); 
 
    }; 
 
}; 
 
navRender(0,5);

+0

我需要第二个我++,因为我的数组有链接和文本..所以,他们是由两个对..所以为我运行第二个循环,我需要提前两个位置.. –

var navRender = function indexNav(x,y) { 
 

 
    var mainNav = ["\/", "Inicio", "\/abogados-criminales-los-angeles.html", "Defensa Criminal", "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", "\/area-de-practica-abogados.html", "Areas de Practica", "\/abogados-friendman-los-angeles.html", "Abogados Friedman", "\/contactenos.html", "Contactenos"]; 
 
    
 
    var result = ''; 
 
    for (var i = x; i <= y; i = i + 2) { 
 
    result += '<li class="pure-menu-item pure-u-1-3\">' 
 
    result += '<a class="pure-menu-link" href="' + mainNav[i] + '">' + mainNav[i + 1]; 
 
    result += '</a>'; 
 
    result += '</li>'; 
 
    } 
 

 
    return result; 
 
}; 
 
document.getElementById("demo").innerHTML = navRender(0,5);
<ul id="demo"></ul>