Javascript:如何允许循环更改ID?

时间:2016-07-29 14:35:52

标签: javascript arrays loops

这是我的代码块。

var events = new Array(4);

for (var j=3; j<events.length; j++){
    events[j];
    aA.setAttribute('href', '#events(j)');    
}

我希望将事件(j)更改为3,并在调用函数后允许它增加1。问题是,#event(j)中的'j'被读作文本字符,不会将其作为数字插入。如何更改代码以解决此问题?

3 个答案:

答案 0 :(得分:0)

不确定您在此处尝试实现的目标,但如果您想在[{ "columns": [{ "title": "NAME" }, { "title": "COUNTY" }], "data": [ ["John Doe", "Fresno"], ["Billy", "Fresno"], ["Tom", "Kern"], ["King Smith", "Kings"] ] }] 调用中设置j动态,则应使用加号event()符号将变量与字符串连接起来,因为它现在(用引号括起来),它将被视为字符串+

j

希望这有帮助。

答案 1 :(得分:0)

events[j];在这里是一个空白的陈述;它什么都没做。你正在读取数组中的值,但没有用它做任何事情。

'#events(j)'被解释为字符串;请注意它周围的引号。要使用j的值而不是字母,您需要将它移到字符串之外并以这种方式连接它们:

aA.setAttribute('href', '#events(' + j + ')'); // The string '#events(', then the value of j, then a closing brace

答案 2 :(得分:0)

如果您所做的只是更改元素的href以匹配数组的最后一个索引的数量,则可以删除for循环并将其替换为一行代码:

var events = new Array(4);

aA.setAttribute('href', '#events(' + events.length - 1 + ')');