Javascript 为数组中的按钮提供自己的ID

Javascript 为数组中的按钮提供自己的ID,javascript,Javascript,我需要帮助为学校做一个项目。我们需要为电影院订票。为了生成椅子,我制作了一个数组,但是如何给每个按钮一个自己的ID呢 这是我的代码: function chair(){ for( i = 1 ; i <= 10; i = i + 1 ){ if ( i > 3 && i < 8 ){ document.write("<button>button</button>");

我需要帮助为学校做一个项目。我们需要为电影院订票。为了生成椅子,我制作了一个数组,但是如何给每个按钮一个自己的ID呢

这是我的代码:

function chair(){    
    for( i = 1 ; i <= 10; i = i + 1 ){
        if (  i > 3 && i < 8 ){
            document.write("<button>button</button>");
        }else{
            document.write("<button>hi</button>");
        }
    }
}
function chair(){
对于(i=1;i=3&&i<8){
文件。写入(“按钮”);
}否则{
文件。填写(“hi”);
}
}
}

好吧,你可以这样做:

document.write("<button id=btn" + i + ">button</button>");
你不必这么做,但这是正常的做法

  • i=i+1
    可以写入
    ++i
    (“增量
    i
    ):


  • 嗯,正如您所了解的…

    我建议不要使用
    文档。编写
    。你可以这样做

    function chair() {
        for (var i = 0; i < 10; i++) {
            var btn = document.createElement("button");
            btn.id = "btn" + i; // set the id
            btn.innerHTML = (i > 3 && i < 8) ? "Button" : "hi";
            document.body.appendChild(btn);
        }
    }
    
    功能椅(){
    对于(变量i=0;i<10;i++){
    var btn=document.createElement(“按钮”);
    btn.id=“btn”+i;//设置id
    btn.innerHTML=(i>3&&i<8)?“按钮”:“嗨”;
    文件.正文.附件(btn);
    }
    }
    
    p.S我已经更新了答案,以满足T.J.Crowder在其旁注中的建议。

    function chair()
    
    function chair()
    {
    var ID = 0;
      for( i = 1 ; i <= 10; i = i + 1 )
      {
        if (  i > 3 && i < 8 ){
        document.write("<button id=btn"+id+">button</button>");
        } else{
        document.write("<button id=btn"+id+">hi</button>");
          }
      id++;
      }
    }
    
    { var-ID=0; 对于(i=1;i=3&&i<8){ 文件。写入(“按钮”); }否则{ 文件。填写(“hi”); } id++; } }
    var id=0;
    对于(i=1;i=3&&i<8)
    {
    文件。写入(“按钮”);
    id++;
    } 
    其他的
    {
    文件。填写(“hi”);
    id++;
    }
    }
    
    关于第3点,如果你使用
    ++i
    i++
    ,JSLint会抱怨,因此在JavaScript中,我认为
    i=i+1
    i+=1
    有点常见。@JLRishe:以我的经验,这是非常罕见的(尤其是与
    ++i
    i++
    相比),我不记得上次看到它的时候了。但是是的,它被使用了。@AmitJoki:好的部分充满了各种基于观点的信息,而不是基于事实的信息。克罗克福德很聪明,见多识广,读他是明智的,但他和我们其他人一样容易犯错。我没说这更常见。我说这有点普遍,JSLint强制执行它。如果希望代码通过JSLint(而不关闭特性),请不要使用
    ++
    。如果你不在乎JSLint,那也没关系。@JLRishe:你说得对,我看错了。但是,JSLint只是将Crockford的观点转化为一个软件程序。(他非常开放地说)使用JSHint的众多理由之一是Crockford并不比我们其他人更可靠。抛开克劳德的建议不谈,你永远不应该使用
    i=i++
    。这根本没有道理(是打字错误吗?)。
    var btn = document.createElement("button");
    btn.id = "btn" + i;
    document.body.appendChild(btn);
    
    function chair() {
        for (var i = 0; i < 10; i++) {
            var btn = document.createElement("button");
            btn.id = "btn" + i; // set the id
            btn.innerHTML = (i > 3 && i < 8) ? "Button" : "hi";
            document.body.appendChild(btn);
        }
    }
    
    function chair()
    {
    var ID = 0;
      for( i = 1 ; i <= 10; i = i + 1 )
      {
        if (  i > 3 && i < 8 ){
        document.write("<button id=btn"+id+">button</button>");
        } else{
        document.write("<button id=btn"+id+">hi</button>");
          }
      id++;
      }
    }
    
    var id=0;
    for( i = 1 ; i <= 10; i = i + 1 ) 
    {
        if (  i > 3 && i < 8 ) 
        {
            document.write("<button id="+id+">button</button>");
            id++;
        } 
        else 
        {
            document.write("<button id="+id+">hi</button>");
            id++;
        }
    }