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