我正在使用 javascript 在运行时创建多个 div(比如 5),使用 javascript 函数,所有 div 都包含一些文本,在运行时再次设置,现在我想在运行时禁用所有 div 并拥有底部的页码,因此每当用户单击页码时,只有该 div 应该可见,否则其他应该被禁用,我创建了一个函数,它接受参数作为页码,我启用了单击其页码的 div并使用for循环,我禁用所有其他div,现在我的问题是我创建了两个函数,第一个(用于添加div并禁用除第一个之外的所有div)并将内容写入其中,另一个用于启用div点击页码,我在 body onload 上调用了添加 div 函数;现在我第一次运行时,页面一切顺利,
请回答为什么会发生这种情况以及我应该如何解决我的问题...
下面是我的脚本,div 的内容是使用 Json 来的。
<body onload="JsonScript();">
<script language="javascript" type="text/javascript">
function JsonScript()
{
var existingDiv = document.getElementById("form1");
var newAnchorDiv = document.createElement("div");
newAnchorDiv.id = "anchorDiv";
var list = { "Article": articleList };
for(var i=0; i < list.Article.length; i++)
{
var newDiv = document.createElement("div");
newDiv.id = "div"+(i+1);
newDiv.innerHTML = list.Article[i].toString();
newAnchorDiv.innerHTML += "<a href='' onclick='displayMessage("+(i+1)+")'>"+(i+1)+"</a> ";
existingDiv.appendChild(newDiv);
existingDiv.appendChild(newAnchorDiv);
}
for(var j = 2; j < list.Article.length + 1; j ++)
{
var getDivs = document.getElementById("div"+j);
getDivs.style.display = "none";
}
}
function displayMessage(currentId) {
var list = {"Article" : articleList}
document.getElementById("div"+currentId).style.display = 'block';
for(var i = 1; i < list.Article.length + 1; i++)
{
if (i != currentId)
{
document.getElementById("div"+i).style.display = 'none';
}
}
}
</script>
谢谢并恭祝安康