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++;
}