0
function findacontrol(FieldName) {

var arr = document.getElementsByTagName("!");
// get all comments
for (var i=0;i < arr.length; i++ )
{
 // now match the field name
 if (arr[i].innerHTML.indexOf(FieldName) > 0)
  {         
   return arr[i];
  }
}
}

如果有两个列 DepartmentName 和 Department,并且如果我们尝试匹配 Department 列,则此函数返回 DepartmentName 而不是 Department,它不匹配完​​整的列名。可能是什么问题?

4

1 回答 1

0

这是因为在列名DepartmentNameindexOf中找到单词Department,您应该使用operator 来精确匹配两个字符串:==

/* Leading and trailing white-space regular expressions */
var ls = /^\s*/;
var ts = /\s*$/;

function findControl(FieldName) {
    // Get all columns
    var cols = document.getElementsByTagName("th");

    for (var i = 0; i < cols.length; i++){
        // Trim column name before matching
        if (cols[i].innerHTML.replace(ls, "").replace(ts, "") == FieldName){         
            return cols[i];
        }
    }
}
于 2013-02-04T11:29:49.000 回答