0

これはIEのバグだと思います...HTMLテーブルの正確な位置に新しい行を追加する必要があります。(insertRow(index)cuzは必要ありません。これは、他の理由で改善されるようです)

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;
}
4

2 に答える 2

0

私の推測では、それtd.parentNodeは の子要素ではありませんgridinsertBeforeのW3C 仕様を調べて、有効なパラメーターを使用してメソッドを呼び出していることを確認してください。

于 2010-08-26T14:31:53.840 に答える
0

に無効な引数を渡していると思いますがAddNewItem、(少なくとも IE では)tdあなたが考えるような要素ではありません。

于 2010-08-26T16:57:20.043 に答える