我有一个函数,用于扫描表格中的td元素的子元素,用于字符串" green.png"在"列"中声明的列中阵列。然后它将结果传递给一个函数,该函数根据结果重新排序表。
我正在使用.every方法来确保所选列中的所有子元素都包含" green.png"在执行之前,它会在任何列包含此值时执行。
我对.every方法的理解是它将确保在执行之前数组中的每个对象都满足条件,但这不会发生。有人可以告诉我的代码缺少/不正确吗?
以下是解析元素的代码:
function checkRowGreen(tenant) {
var columns = ["COLUMN1", "COLUMN2", "COLUMN3", "COLUMN4", "COLUMN5"];
var count = 0;
columns.every(function(column) {
var element = document.getElementById(tenant + column);
if(element != null && element.firstElementChild != null && element.firstElementChild.src.indexOf('green.png') > -1) {
console.log("[INFO] Found successful PNG on " + tenant + " column " + column + " - found " + count);
count++;
}
});
return count > 0;
}
这是重新排序表的代码:
if(checkRowGreen(tenant)) {
var row = document.getElementById(tenant + "Row");
var table = document.getElementById("tenantTable");
if(row == null || table == null) return true;
var cells = row.getElementsByTagName("td");
table.deleteRow(row.rowIndex);
var newRow = table.insertRow(-1);
newRow.id = rowID;
for(var i = cells.length-1; i >= 0; i--) {
bugout.log("[INFO] inserting cell.." + i + " out of " + cells.length);
var newCell = newRow.insertCell(0);
newCell.innerHTML = cells[i].innerHTML;
newCell.id = cells[i].id;
}
}
答案 0 :(得分:0)
语法应该是这样的:
if(myArray.every(myFuncName))
{
...
}
或
var result = myArray.every(myFuncName);
或
var result = mArray.every(element => element.age >= 5);
等