如何使用行索引javascript禁用getelement()

如何使用行索引javascript禁用getelement(),javascript,Javascript,我有一个带有值的网格 我需要禁用第二行ID为分钟的文本框。以下示例不起作用 document.getElementById("h_ID")[2].readOnly = true; 谁能帮我弄一下语法吗? 这就是为什么document.getElementById(“分钟”)不返回集合,而是返回唯一的元素。在您的案例中不要使用id,而是使用类 因此,您的代码将是 document.getElementsByClassName("minutes")[2].readOnly = true; do

我有一个带有值的网格

我需要禁用第二行ID为分钟的文本框。以下示例不起作用

document.getElementById("h_ID")[2].readOnly = true;
谁能帮我弄一下语法吗?

这就是为什么
document.getElementById(“分钟”)
不返回集合,而是返回唯一的元素。在您的案例中不要使用id,而是使用类

因此,您的代码将是

 document.getElementsByClassName("minutes")[2].readOnly = true;

document.getElementById
只返回一个元素,因为页面上不应该有多个id为的元素。将所有
id=“分钟”
切换到
class=“分钟”
,然后使用:

document.getElementsByClassName('minutes')[2].readOnly = true;

document.getElementById不返回数组,因此无法选择第二项。尝试按类名选择更重要的是,
id
不能也不应该重复使用。我必须使用Ie7。。getElementsByClassName不起作用。有没有替代品?比如说7号已经像恐龙一样灭绝了。不要支持他们,我无能为力。客户要求正如我在回答中所解释的,你的HTML是无效的。使用类而不是id。我必须使用IE7,getElementsByClassName在那里不起作用。如果你真的需要使用IE7,你应该使用助手库来查询元素,例如jQuery或sizzle。如果您不想,您会找到其他解决方案。我使用struts2,如果我添加类而不是id,它会显示黄色警告标志,您应该将类添加到cssClass属性,如下所示:我必须使用Ie7。。getElementsByClassName在这里不起作用您可以通过以下代码添加该功能:document.getElementsByClassName=document.getElementsByClassName | | function(cl){var retnode=[];var elem=this.getElementsByTagName('*');for(var i=0;i-1)push(elem[i]);}返回retnode;};