代码之家  ›  专栏  ›  技术社区  ›  user48408

document.getElementById不工作

  •  2
  • user48408  · 技术社区  · 15 年前

    我一页有两个支票盒。在一个表格单元格中,每个单元格都有自己的行。执行document.getElementById('chk1_FEAS~1005')返回元素,但document.getElementById('chk5_STG2~1005')为空。为什么会发生这种情况?(我正在测试IE 8)。

    <input id="chk1_FEAS~1005" value="JobStages###StageCode~JobCode###FEAS~1005" onclick="addRemoveRow(this.value,this.checked)" style="border-width:0px;padding:1px;margin:0px;height:14px;"  type="checkbox" />
    
    <input id="chk5_STG2~1005" value="JobStages###StageCode~JobCode###STG2~1005" onclick="addRemoveRow(this.value,this.checked)" style="border-width:0px;padding:1px;margin:0px;height:14px;"  type="checkbox" />
    
    4 回复  |  直到 15 年前
        1
  •  11
  •   Christian C. Salvadó    15 年前

    您的Id包含无效字符:

    ID和名称标记必须以 字母([A-Za-z]),并可遵循 ([0-9]),连字符(“-”),下划线 (“)、冒号(“:”)和句点

    here .

        2
  •  1
  •   SilentGhost    15 年前
    document.getElementById('hk5_STG2~1005') 
    

    document.getElementById('chk5_STG2~1005') 
    

    :-)

        3
  •  0
  •   Mitchel Sellers    15 年前

    看看你的样本,这是一个打字错误,第二项应该是, document.getElementById('chk5_STG2~1005')

    此外,我建议删除~字符,因为它对id无效。

        4
  •  0
  •   MikeJ-UK    15 年前

    值得一提的是,我在使用 document.getElementById

    <meta http-equiv="X-UA-Compatible" content="IE=7" />
    

    这将迫使IE8进入IE7兼容模式。这对我来说是一个解决办法,直到我发现真正的问题。