Javascript 如何记录变量的document.getElementbyID?
我想根据元素的Javascript 如何记录变量的document.getElementbyID?,javascript,Javascript,我想根据元素的id更改某些span元素 所以我给每个div和span一个id,然后我尝试.style.color每个span 但是可以看到一个错误:无法读取null的属性“style” 我不知道我做错了什么 这是我的程序的一个简单的可复制模型 (y=0;y
id
更改某些span
元素
所以我给每个div
和span
一个id
,然后我尝试.style.color
每个span
但是可以看到一个错误:无法读取null的属性“style”
我不知道我做错了什么
这是我的程序的一个简单的可复制模型
(y=0;y<7;y++)的{
让colonne=document.createElement(“div”);
colonne.className=“horaire_one”;
colonne.id=(“col”+y);
对于(x=0;x<26;x++){
设span=document.createElement(“span”);
span.className=“pasdispo\u one\u rpv”;
span.id=(colonne.id+x);
document.getElementById(span.style.color=“绿色”;
}
}
这里有两个问题:
document.getElementById(span.style.color=“green”
它的括号中应该有span.id
document.getElementById(span).style.color=“green”
,因为span
已经在循环中。您可以更改为span.style.color='green';
document.getElementById(span.style.color=“green”
它的括号中应该有span.id
document.getElementById(span).style.color=“green”
,因为span
已经在循环中。您可以更改为span.style.color='green';
在将元素添加到DOM之前,您正在尝试引用DOM中的元素。您找不到它。您在创建跨度时已经有了对它的引用
for(设y=0;y<7;y++){
让colonne=document.createElement(“div”);
colonne.className=“horaire_one”;
colonne.id=“col”+y;
for(设x=0;x<26;x++){
设span=document.createElement(“span”);
span.className=“pasdispo\u one\u rpv”;
span.id=colonne.id+(x+y*26);
span.style.color=“绿色”;
span.textContent=x+y*26;
科隆·阿佩奇尔德(span);
}
文件.正文.附件(科隆);
}
.pasdispo\u one\u rpv{
边框:1px纯黑;
宽度:1.4em;
显示:内联块;
}
在将元素添加到DOM之前,您试图引用DOM中的元素。您找不到它。您在创建跨度时已经有了对它的引用
for(设y=0;y<7;y++){
让colonne=document.createElement(“div”);
colonne.className=“horaire_one”;
colonne.id=“col”+y;
for(设x=0;x<26;x++){
设span=document.createElement(“span”);
span.className=“pasdispo\u one\u rpv”;
span.id=colonne.id+(x+y*26);
span.style.color=“绿色”;
span.textContent=x+y*26;
科隆·阿佩奇尔德(span);
}
文件.正文.附件(科隆);
}
.pasdispo\u one\u rpv{
边框:1px纯黑;
宽度:1.4em;
显示:内联块;
}
您没有将id传递给document.getElementById,而是传递了一个元素。此外,由于您从未将元素添加到文档中,因此它也不会起作用。幸运的是,既然您已经拥有了元素,您就不需要使用document.getElementById。只需执行以下操作:
span.style.color = "green";
如果您想更改
colonne
,只需将span
替换为colonne
您没有将id传递给document.getElementById,您传递的是一个元素。此外,它不会起作用,因为您从未将该元素添加到文档中。幸运的是,由于您已经拥有该元素,因此不需要要使用document.getElementById,只需执行以下操作:
span.style.color = "green";
如果您想更改
colonne
,只需将span
替换为colonne
即可。您从未将span添加到文档中,因此无法访问它。因为您已经有了它,所以不需要执行此操作!您从未将span添加到文档中,因此无法访问它。因为您已经有了span,所以不需要执行此操作信息技术