javascript增量变量getElementById()

javascript增量变量getElementById(),javascript,html,Javascript,Html,我有一个包含大量链接的页面,需要定期更新,因此我使用的脚本具有: var data01 = "docs/Document01.pdf" var data02 = "docs/Document02.pdf" var data03 = "docs/Document03.pdf" ... document.getElementById("doclink01").href = data01; document.getElementById("doclink02").href = data02; docu

我有一个包含大量链接的页面,需要定期更新,因此我使用的脚本具有:

var data01 = "docs/Document01.pdf"
var data02 = "docs/Document02.pdf"
var data03 = "docs/Document03.pdf"
...
document.getElementById("doclink01").href = data01;
document.getElementById("doclink02").href = data02;
document.getElementById("doclink03").href = data03;
...
我在HTML中使用以下链接引用这些ID:

<p>Link: <a id="doclink01">Document 1</a></p>
<p>Link: <a id="doclink02">Document 2</a></p>
<p>Link: <a id="doclink03">Document 3</a></p>
...

似乎我需要用1
开始
循环迭代(I=1;I您可以尝试以下方法

//Create an array to hold your data objects (href links?)
var data = [];
var data0;

//Fill your array with the data objects
data.push(data0);

for (i = 0; i < data.length; i++)     
{
    document.getElementById('doclink' + i).href = data[i];
}
//创建一个数组来保存数据对象(href链接?)
var数据=[];
var数据0;
//用数据对象填充数组
数据推送(data0);
对于(i=0;i
//指

你可以进一步尝试:它将根据数组创建一个链接列表。你不需要在html和javascript中复制链接

<html>
    <body>
    <div id = "docLinks"></div>

    <script>
        var data = [
        {pretext:"Link: ",link:"docs/Document1.pdf",text:"Document 1"},
        {pretext:"Link: ",link:"docs/Document2.pdf",text:"Document 2"},
        {pretext:"Link: ",link:"docs/Document3.pdf",text:"Document 3"}
        ];
        var docLinks = document.getElementById('docLinks');
        for (i = 0; i < data.length; i++) {
        var p = document.createElement('p');
        var a = document.createElement("a");

        p.innerText = data[i].pretext;
        a.href = data[i].link;
        a.innerText = data[i].text;

        p.appendChild(a);
        docLinks.appendChild(p);  
        }
    </script>

</body>
</html>

风险值数据=[
{借口:“链接:,链接:“docs/Document1.pdf”,文本:“Document1”},
{借口:“链接:,链接:“docs/Document2.pdf”,文本:“Document2”},
{借口:“链接:,链接:“docs/Document3.pdf”,文本:“Document3”}
];
var docLinks=document.getElementById('docLinks');
对于(i=0;i
您可以尝试以下方法:

var i=1;
var data01="x",data02="y",data03="z";
var x;
while(true){
  try{
     x = eval("data0"+i);
  }catch(ReferenceError){
    break;
  }
  document.getElementById('doclink0' + i).href = x;
  i++;
}
这是一个

这是您问题的直接解决方案,但我不喜欢在我的工作中使用
eval
,因为这不是一种最佳做法。因此,如果您能够处理并将所有数据放入对象或数组中,它将更有条理


我希望这会有所帮助。

可能需要调用获取数据,然后在循环中创建链接您不需要递增的id,也不需要递增的变量名……数据可以而且应该是一个数组,您可以通过类名(或父元素)轻松捕获所有链接例如,在一个循环中……数据的
范围是什么?
变量扫描您显示分配
data01
data02
,等等的代码?请注意,“迭代是人的,递归是神的”-这句话与这个特定问题无关。这个问题需要典型的迭代解决方案。:)互联网存在,有时……)第二种方法很有趣,为我打开了新的途径。但我得到了第一个(更简单的)方法,并从艾哈迈德莫瓦德那里得到了一些建议
var i=1;
var data01="x",data02="y",data03="z";
var x;
while(true){
  try{
     x = eval("data0"+i);
  }catch(ReferenceError){
    break;
  }
  document.getElementById('doclink0' + i).href = x;
  i++;
}