如何更改标记';根据它们在JavaScript中的顺序创建内部HTML?
我对JavaScript相当陌生,我正在练习一些较小的项目 我想做的是将一组标记的内部HTML更改为它们的顺序 让我解释一下 我想从这开始如何更改标记';根据它们在JavaScript中的顺序创建内部HTML?,javascript,html,for-loop,innerhtml,Javascript,Html,For Loop,Innerhtml,我对JavaScript相当陌生,我正在练习一些较小的项目 我想做的是将一组标记的内部HTML更改为它们的顺序 让我解释一下 我想从这开始 *Number <br> *Number <br> *Number *编号 *数字 *数 对这个 *1 <br> *2 <br> *3 *1 *2 *3 完全从JavaScript执行 这就是我现在拥有的 HTML 编号 编号 编号 有序元素 JavaScript function orderElem
*Number <br>
*Number <br>
*Number
*编号
*数字
*数
对这个
*1 <br>
*2 <br>
*3
*1
*2
*3
完全从JavaScript执行
这就是我现在拥有的
HTML
编号
编号
编号
有序元素
JavaScript
function orderElements() {
var reference = document.getElementById('thisIsANumber');
for (var i = 0; i < 3; i++) {
reference[i].innerHTML = i;
}
}
函数orderElements(){
var reference=document.getElementById('ThisisNumber');
对于(变量i=0;i<3;i++){
参考[i].innerHTML=i;
}
}
这里的主要问题是您使用了id
而不是类
。问题在于id
用于标识一个元素,而class
可用于标识多个元素。如果您想要的是带编号的段落元素,而不是有序列表,那么应该这样做:
函数orderElements(){
var reference=document.getElementsByClassName(“ThisisNumber”);
对于(变量i=0;i<3;i++){
参考[i].innerHTML=i;
}
}
编号
编号
编号
有序元素
如评论中所述,您不能有多个东西使用相同的id
-您应该使用类
例如,这表示您有一个段落,这种段落是“编号段落”:
现在,您可以选择所有具有该类的段落,在其上循环并为每个段落指定一个数字
此示例代码是显式的,因此非常清楚-有许多方法可以缩短此过程:
document.getElementById('numberGenerator')
.addEventListener('click',函数(e){
const段落=document.queryselectoral(“.编号段落”);
设i=1;
第(p)段{
p、 innerText='段落编号'+(i++);
}
});代码>
编号
编号
编号
订单元素
错误代码=>id必须唯一您的第一个示例显示
(换行)元素,但您的第二个示例使用
(段落)元素。它们是不同的东西。请注意,
是一个无内容的自动关闭元素,而
有内容。此外,在设置人类可读的文本内容时,您应该使用.textContent
而不是.innerHTML
。来进一步解释Jojo先生的评论-您的文档.getElementById('ThisisNumber'))
只获取一个元素,因为id
在页面中必须是唯一的。如果您计划有多个相同类型的项目,您想要使用的是一个classclass=“ThisisNumber”
对不起,我从来没有打算让标签出现。我使用它们将点显示为列表,因为默认情况下,它们显示在同一行上。感谢您的简单解释和解决方案!
function orderElements() {
var reference = document.getElementById('thisIsANumber');
for (var i = 0; i < 3; i++) {
reference[i].innerHTML = i;
}
}