私は、テーブル内の列のインデックスをチェックする必要がある次のJavaScript関数を持っています。問題は、columnName とテーブルの名前の比較です。columnName 'ID' でテストしましたが、この列はテーブル内にありますが、比較が正しくないため、インデックスは返されません。
私のコード:
function getColumnIndex(columnName, grid) {
console.log("loading column index for column: [" + columnName + "]");
$('div.hDivBox > table > thead > tr > th', grid).each(function(index) {
var name = $(this).attr('title');
console.log("Checking cell: [" + name + "]");
if (String(name) == columnName) {
return index;
}
});
console.log("no cell found with name: " + columnName);
return -1;
}
ログ ステートメント:
列の列インデックスを読み込んでいます: [ID]
セルをチェックしています: [ID] セルをチェックしています
: [名前]
セルをチェックしています: [説明]セルを
チェックしています: [AddTime]
セルをチェックしています: [UpdTime]
名前のセルが見つかりません: ID
JavaScript 関数によって分析される HTML の例:
<div class="hDivBox">
<table cellspacing="0" cellpadding="0">
<thead>
<tr>
<th align="center" hidden="" axis="col0" title="ID" style="display: none;">
<div style="text-align: center; width: 30px;">ID</div>
</th>
<th align="center" axis="col1" title="Name" class="">
<div style="text-align: center; width: 250px;">Name</div>
</th>
<th align="center" axis="col2" title="Description" class="">
<div style="text-align: center; width: 250px;">Beschreibung</div>
</th>
<th align="center" axis="col3" title="AddTime">
<div style="text-align: center; width: 120px;">hinzugefügt</div>
</th>
<th align="center" axis="col4" title="UpdTime">
<div style="text-align: center; width: 120px;">aktualisiert</div>
</th>
</tr>
</thead>
</table>