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循环用于删除radio,我们只需使用表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 回答