Javascript document.getElementById不工作
我一页有两个支票盒。在一个表格单元格中,每个单元格都有自己的行。执行document.getElementById('chk1_FEAS~1005')返回元素,但document.getElementById('chk5_STG2~1005')为空。为什么会发生这种情况?(我正在测试IE 8)Javascript document.getElementById不工作,javascript,client-side,Javascript,Client Side,我一页有两个支票盒。在一个表格单元格中,每个单元格都有自己的行。执行document.getElementById('chk1_FEAS~1005')返回元素,但document.getElementById('chk5_STG2~1005')为空。为什么会发生这种情况?(我正在测试IE 8) 应该是 document.getElementById('chk5_STG2~1005') :-)您的Id包含无效字符: ID和名称标记必须以 字母([A-Za-z]),并可遵循 通过任意数量的字
应该是
document.getElementById('chk5_STG2~1005')
:-)您的Id包含无效字符: ID和名称标记必须以 字母([A-Za-z]),并可遵循 通过任意数量的字母、数字 ([0-9]),连字符(“-”),下划线 (“)、冒号(“:”)和句点 (“)
更多信息。查看您的示例,这是一个打字错误,第二项应该是,
document.getElementById('chk5\u STG2~1005')
另外,我建议删除~字符,因为它对id无效。至于它的价值,我在使用IE8中复选框上的
document.getElementById
时也遇到类似问题。尝试将此标签添加到头部区域:-<meta http-equiv="X-UA-Compatible" content="IE=7" />
这将迫使IE8进入IE7兼容模式。这对我来说是一个解决办法,直到我发现真正的问题。这不是这个例子的问题,尽管你是正确的,这是建议。克莱特斯是正确的。tilda导致javascript忽略Id的其余部分(取决于浏览器),因此它基本上认为两个元素都有相同的Id:“chk1_FEAS”,这就是为什么一个元素可以工作,而另一个元素不能。@IPX Ares:它们不是都以chk1_FEAS开始的,所以不。这就是为什么我需要更多的咖啡。。。也许它只是在看1005?我知道我以前在无效角色身上看到过这种情况。我很想这是IE的行为滑稽。我可以给那些新的身份证,所以我很高兴这样做。除此之外,你们中有谁知道如何获取以chk开头的所有复选框元素吗$(“输入[type='checkbox'][id*=chk]”)对我不起作用?是的,很抱歉这是一个输入错误。document.getElementById('chk5_STG2~1005')不起作用。提供一个HTML文档,在HEAD标记中使用失败的javascript,会有所帮助(如果需要,可以从实际代码中创建一个简单的示例)。
document.getElementById('chk5_STG2~1005')
<meta http-equiv="X-UA-Compatible" content="IE=7" />