如何使用JavaScript自动填充列?

如何使用JavaScript自动填充列?,javascript,html,css,html-table,Javascript,Html,Css,Html Table,我正在尝试创建一个检查列表。如何使用JavaScript自动填写检查列表状态列 例如,我想做的是: 如果文档类型等于客户协议,则检查列表状态应自动标记为是 如果文档类型等于空,则状态检查列表应自动显示为“否”。 代码: 这将起作用 function init(){ var trs = document.getElementsByTagName('table')[0].children[1].children; var i; for (i = 0; i < trs.l

我正在尝试创建一个检查列表。如何使用JavaScript自动填写检查列表状态列

例如,我想做的是:

如果文档类型等于客户协议,则检查列表状态应自动标记为是 如果文档类型等于空,则状态检查列表应自动显示为“否”。 代码:

这将起作用

function init(){
    var trs = document.getElementsByTagName('table')[0].children[1].children;
    var i;
    for (i = 0; i < trs.length; i += 1) {
        if (trs[i].children[3].innerHTML.indexOf('Clinet Agreement') > -1) {
            trs[i].children[6].innerHTML = 'yes';
        }
    }
}
如果您将其称为onload,但应该将id和class属性添加到HTML中,以使其可从JavaScript引用,从而更加健壮。此外,您的桌子需要一个tbody标签

Javascript变量名不能包含空格。比如var检查表状态='checklist';这是行不通的

如果'doctype'='client'的表达式永远不会为真。您正在比较两个明显不同的文本字符串doctype和client

您似乎尝试使用id清单选择列,然后将innerHTML设置为yes。因为2。该代码永远不会到达,但如果到达,它只会将列标题设置为yes

您需要做的是:

逐行迭代表文档。querySelectorAll'assets tr'提供行 对于每一行,找到文档类型单元格,我已经给了它们所有的类标识符,因为类可以在每个HTML页面上使用不止一次,而不会读取它的文本内容 如果文本内容为空,请在“检查列表状态”列中找到“我已给他们所有类别检查”中的单元格,并将其设置为“否”。如果是“客户协议”,则将其设置为“是”。 代码如下:

var clientAgreement = 'Client Agreement';

var docTable = document.getElementById('assets');
var rows = document.querySelectorAll('#assets tr');

// iterate rows
for (var i = 1; i < rows.length; i++) {
  // get cell for class "check"
  var checkCell = rows[i].getElementsByClassName("check")[0];
  var docTypeCell = rows[i].getElementsByClassName("identifier")[0];
  if (docTypeCell.textContent  === clientAgreement) {
    checkCell.innerHTML = "Yes";
  } else if (docTypeCell.textContent.length === 0) {
    checkCell.innerHTML = "No";
  }
}

这是一个也包含编辑过的HTML的标签。

Hm,标签的内容在哪里?我没有,这就是我要找的……你能建议需要什么JS代码吗@不幸的是,Stackoverflow不是要求人们为您编写代码的合适地方。我们可以帮助您查找逻辑或代码中的错误,但您需要自己动手。哦,好的。让我自己试试,看看我能做些什么。非常感谢@user1133275我在script标签中添加了一些代码,它不起作用。有什么办法让它工作吗@user1133275@MuhammadZohaibAsghar答案将更新为包含一个onload示例。
var clientAgreement = 'Client Agreement';

var docTable = document.getElementById('assets');
var rows = document.querySelectorAll('#assets tr');

// iterate rows
for (var i = 1; i < rows.length; i++) {
  // get cell for class "check"
  var checkCell = rows[i].getElementsByClassName("check")[0];
  var docTypeCell = rows[i].getElementsByClassName("identifier")[0];
  if (docTypeCell.textContent  === clientAgreement) {
    checkCell.innerHTML = "Yes";
  } else if (docTypeCell.textContent.length === 0) {
    checkCell.innerHTML = "No";
  }
}