我想我知道这是一个IE bug ... 我需要在确切位置的HTML表中添加新行。 (不希望insertRow(index)因为其他原因看起来会更好)
function AddNewItem(td) { ///td comes from button at the HTML code, <input ... onclick="AddNewItem(this.parentNode)"
var grid = GetGrid();
var itemIndex = $(td.parentNode).attr('index');
///alert(itemIndex + "'e eklenecek");
var newRow = document.createElement('tr');
var td1 = document.createElement('td');$(td1).addClass('td');
var td2 = document.createElement('td');$(td2).addClass('td text r');
var td3 = document.createElement('td');$(td3).addClass('td text r');
var td4 = document.createElement('td');$(td4).addClass('td text r');
$(newRow).append(td1);$(newRow).append(td2);$(newRow).append(td3);$(newRow).append(td4);
grid.insertBefore(newRow, td.parentNode); ///THIS GIVES AN INVALIDARGUMENT error .. Any solutions will be appreciated :)
}
function GetGrid() {
var grid = document.getElementById("MasterTableView");
return grid;
}
答案 0 :(得分:0)
我的 猜测 是td.parentNode
不是grid
的子元素。查看W3C specification for insertBefore以确保使用有效参数调用方法。
答案 1 :(得分:0)
我猜你正在向AddNewItem
传递一个无效的参数,(至少在IE中)它不像你想象的那样是td
元素。