我试图用javascript更改表单元格的属性,并找到了我的建议,但我可以';我似乎无法让他们工作

我试图用javascript更改表单元格的属性,并找到了我的建议,但我可以';我似乎无法让他们工作,javascript,Javascript,我有一个表,其中每行有7个输入列。我想禁用每行的第三列,并将文本颜色更改为红色。 函数changeCells(){ var table=document.getElementById(“tbl”); 对于(var i=0;i

我有一个表,其中每行有7个输入列。我想禁用每行的第三列,并将文本颜色更改为红色。

函数changeCells(){
var table=document.getElementById(“tbl”);
对于(var i=0;i
我可以通过以下方式更改背景:

td.style.backgroundColor='red'

但不是文本颜色


输入列也未被禁用。不知道为什么这个代码不起作用

要更改第三列每行中的文本颜色,请在css文件中使用以下代码行

#tbl tr td:nth-child(3){color: red}

表格单元格没有禁用的属性。

如果看不到CSS和HTML的其余部分,很难判断,但听起来好像有其他CSS设置了文本颜色(假设背景颜色的更改如您所述)。您可以添加
!重要信息
通过Javascript修改以测试以下内容:

td.style.setProperty("color", "red", "important");
如果需要这样做,那么其他东西就不能让你改变颜色。理想情况下,您可以向
元素添加一个类,然后通过纯CSS控制它的外观

在JS中:

td.className = 'highlight-cell';
然后在CSS中:

.highlight-cell {
    color: red !important;
}

不能禁用
td
元素。您需要针对其中的
输入
元素。以下是您想要的工作示例:

以及正在添加的相关代码:

var inputElement = td.querySelector("input");
    inputElement.style.color = 'red';
    inputElement.disabled = true; 

请添加相关HTML。表格单元格没有禁用的属性。表单元素。输入列。。。永远不会被你的代码改变。。。只是它周围的(?)td…听起来好像你有输入元素在你里面
td
s。请提供html,以便我们能更好地帮助您。答案在哪里?OP说该代码已经被使用,并且不起作用。您可以使用上述代码在每行的第三列将文本颜色更改为红色。为什么不只是
var inputElement=td.querySelector(“input”)?谢谢。这正是我需要的罗恩
var inputElement = td.querySelector("input");
    inputElement.style.color = 'red';
    inputElement.disabled = true;