如何在单元格 td HTML 中设置属性

How to setAttribute in cell td HTML?

本文关键字:设置 属性 HTML td 单元格      更新时间:2023-09-26

这是我的脚本,但它不起作用:

var first = document.getElementById("sheet").rows[0];
var two = first.cells(4);
two.setAttribute('style','display:none');

请注意,单元格不是函数或方法,它是一个返回可通过索引访问的 HTML 集合的属性:

var two = first.cells[4];

无需使用 setAttribute,只需直接设置属性:

two.style.display = 'none';
我不知道

你是否真的想在模糊上设置属性或添加函数 - 我会回答这两个

如果要设置属性

那么你的方法实际上是正确的 - 考虑到two是一个 HTMLObject
two.setAttribute("class","unchecked"); //this sets class .unchecked to the "two"

这会用新类替换所有现有类,如果您只使用 1 个类,那很好。

从历史上看,你会有自己的类合并,但对于现代浏览器,还有更方便的方法: two.classList.add("unchecked");添加到现有的类列表中而不是替换它,但前提是类还不存在:-(

如果你想添加一个 FUNCTION(( 它会在 Blur 上触发

然后你必须使用一些东西来绑定 - 最简单的方法是在 HTMLObject 属性(属性(中添加一个函数 - 注意!HTMLObject属性(属性(与你在html代码中看到的属性不同:

two.onblur=function(){  /*SomeJavaScriptCode*/ };

或者,如果您已经有一个函数:

two.onblur = cekUndo;

  • 注意!没有 (( 括号 - onblur 将在需要时运行该函数,您不希望该函数立即触发...
  • 我建议您还检查.addEventListener方法 - 它更可调节,例如您可以在一个事件上添加更多函数

注意:您可以执行<td onblur="myFunction()"> - 将其直接添加到 HTML,但我认为您不能像这样在运行时执行此操作,您必须绑定:)......

编辑:关于你的第二个问题 - 正如 RobG 所说,你必须使用 [] 括号访问cells集合:

var two = first.cells[4];

还要检查您是否实际上具有该索引的单元格(单元格的索引
从 0 到 X =>索引 4 表示第 5 个(