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=“绿色”;
}
}
这里有两个问题:

  • 创建元素是不够的。您需要以某种方式将其添加到DOM中。谷歌搜索“appendChild”

  • document.getElementById(span.style.color=“green”
    它的括号中应该有span.id

  • 请注意:

  • 代码中不需要
    document.getElementById(span).style.color=“green”
    ,因为
    span
    已经在循环中。您可以更改为
    span.style.color='green';
  • 这里有两个问题:

  • 创建元素是不够的。您需要以某种方式将其添加到DOM中。谷歌搜索“appendChild”

  • 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,所以不需要执行此操作信息技术