0

ラジオボタンを動的に作成する実装があります。実際には、すべてのフィールドと値は、親子、孫などのように相互に依存しています。ボタンを削除することはできますが、Firefoxでは使用していますinnerHtmlが、IEでは機能しませんでした。IEの場合、別のコードを取得しましたが、それを生成して削除するコードを貼り付けていると、それも正しく機能しません。

var idToUpdate = "radioID";
var nameToUpdate = "radioName";
var labelToUpdate = "labelText";

var tbody = document.createElement('tbody');
var row = document.createElement("tr")
var data1 = document.createElement("td")
var newRadio = document.createElement("input");
newRadio.type = "radio";
newRadio.id = idToUpdate;
newRadio.name = nameToUpdate;
newRadio.value = labelToUpdate;
if (defUpdater == 1)
    newRadio.setAttribute('checked', 'checked');
newRadio.setAttribute("onclick", "javascript:dependentFieldsValue('" + idToUpdate + "');");
var data11 = document.createElement("td")
var newLabel = document.createElement("label");
newLabel.htmlFor = idToUpdate;
newLabel.id = idToUpdate;
newLabel.appendChild(document.createTextNode(labelToUpdate));
tbody.appendChild(row);
row.appendChild(data1);
data1.appendChild(newRadio);
row.appendChild(data11);
data11.appendChild(newLabel);
Node1.appendChild(row);
defUpdater = 0;

最後のforループはラジオの削除に使用され、テーブルIDを使用してhtmlelemntを取得し、innerHTMLを=""に設定します。

for (var i = 0; i < len; i++) {
  var node = documnet.getElemtsById("tableID"); // every button group have table and table is havin id.
  Node.childNodes[i].innerHTML = ""; /// works for firefox// works fine
  //Node.childNodes[i].Node.removeChild(Node.childNodes[i]);// works for IE but not properly
}

提案してください。

4

1 に答える 1

0

私はこの構造を使用します:

var table = documnet.getElemtsById("tableID");
for (var i = 0; i < len; i++) { 
    var tr = table.childNodes[i];
    tr.parentNode.removeChild(tr);
}
于 2012-06-17T20:44:04.503 に答える