我有一个网页,我正试图通过URL栏通过JS编辑HTML。
我在JS方面的教育程度不是很高,但我认为我已经足够了解它了: 我也不确定为什么这不起作用。 我有这个代码:
的javascript:
function textIncrement(eID){
for (i=0;i>1000;i++){
document.getElementById.('eID'.innerHTML='i')
}
}
textIncrement();
下图显示了HTML格式:
我想更改突出显示的文本(“6,097”) - 据我所知,文本的元素ID是(“points-zFkA6”)。 当前代码应该用值“i”替换数字,但元素不会改变。
有人可以帮我确定问题所在吗?
编辑:
我的代码中有一些错误,已修复以备将来参考:
// I don't need to define the variables, this is just for future reference.
//
alert(pointsToAdd);
alert(image);
if(pointsToAdd != null){
if(image != null){
for (var i=0;i<pointsToAdd;i++){
setTimeout(function() {
var elementsIn = document.getElementsByClassName(image);
elementsIn[0].innerHTML = toAdd;
toAdd = toAdd + 1;
},500);
}
}
}
答案 0 :(得分:4)
您的for循环不正确†。条件:
for (i = 0; i > 1000; i++)
// ^^^^^^^^
始终为false,但只有在条件为真时才会运行循环。您需要将其更改为i < 1000
。而且,这个:
document.getElementById.('eID'.innerHTML='i')
需要
document.getElementById(eID).innerHTML = i;
你搞砸了语法,你使用了字符串,你应该使用变量名。当您调用该函数时,您需要使用id名称调用该函数。
textIncrement("idName");
†创建变量名时始终使用var
。否则它会创建一个不好的全局变量。
答案 1 :(得分:2)
我认为你的html属性错了,你给它一个class =但是你真的要使用id = 在进一步检查时,您正在寻找的ID似乎没有设置在任何地方。
答案 2 :(得分:1)
不确定这是否是一个错字,但第四行应如下所示:
document.getElementById(eID).innerHtml = i;
你已经把错误放在了错误的地方,而且你不想在这个论点上加上引号。另外,正如另一个答案所说,您可能会混淆class
和id
。