【发布时间】:2017-06-06 08:54:43
【问题描述】:
我对以下代码有疑问。如果该行不包含 td 中的肉,我正在尝试从表中删除行。澄清一下,当函数被调用时,它接受了 2。(在表中可以找到肉这个词的地方) 有些行不包含单词肉,x = rows[i].getElementsByTagName("td")[a];可以在该行的 [a] 中找到单词肉。我认为问题出在 x.innerHTML 上,因为我认为它不会返回与 b 进行比较的值。 任何帮助或线索表示赞赏。现在,当单击按钮调用该函数时,什么也没有发生。
function clearTable(a) {
var table, rows, switching, i, x, c, shouldSwitch;
table = document.getElementById("Invtable");
switching = true;
var b = "meat";
while (switching){
switching = false;
rows = table.getElementsByTagName("tr");
for (i = 0; i < (rows.length); i++) {
shouldSwitch = false;
x = rows[i].getElementsByTagName("td")[a];
if(x.innerHTML.toLowerCase() != b){
shouldSwitch= true;
break;
}
}
if (shouldSwitch) {
table.deleteRow(i);
switching = true;
}
}
}
var table = "<tr>";
for (var i = 0; i < array.length; i++) {
table += "<tr>";
for (var j = 0; j < array[i].length; j++) {
if (j == 6) {
table += "<td> <img src='CSV_Photos/" + array[i][j] + "' style ='width:250px;height:250px'>" + "<br>" //every 6th column is a picture
+ "<center> " + '<button id="btn" onClick="clickMe(\''+ array[i][1] + ',' + array[i][5] + '\')"> Buy / Add To Cart </button> </td>' + "</center>"; //button onclick takes (name+price)
} else {
table += "<td>" + array[i][j] + "</td>";
}
}
table += "</tr>";
}
编辑:从 var 表开始,这就是在函数中用 javascript 制作表的方式。
html中的表格代码如下:
<tr><td>1000</td><td>Chicken</td><td>Meat</td><td>Perfect</td><td>Yes</td><td>$2.99</td><td>image</td> </tr>
【问题讨论】:
-
您能否提供一个示例表(HTML)?
-
你能发布你的 HTML
-
当您在调试器中逐步执行此操作时,它在哪里/如何具体失败?发生这种情况时的运行时值是多少?
-
哦,我忘了调试器了。当它运行时,它说 x 是未定义的。
-
更具体地说,x 在这一行中未定义 if(x.innerHTML.toLowerCase() != b){
标签: javascript html