0
我必須根據用戶選擇在兩個表格之間進行切換選擇我可以使用表格對象模型進行切換,但存在問題,因爲我刪除一個表格並加載另一個表格,但下一次當我切換回第一個表格時不會得到表格ID並且不能工作。我們可以刪除dom表嗎?
與DOM這樣工作
var tbl1 = document.createElement("table");
tbl1.setAttribute('id','shorttable');
進行刪除我用下面的Java腳本
var b = document.getElementById('shorttable');
document.removeChild(b);
,但給我的異常
uncaught Error: NOT_FOUND_ERR: DOM Exception
,而有沒有辦法做到這一點使用DOM?
@lonesomeday謝謝你的答覆,但它不工作時,我從其他函數調用它? 我正在嘗試的是這樣的。
<html>
<head>
<title>test dom</title>
<script>
function trackmode()
{
// i have to delete other table from this function where it is not working
var b = document.getElementById('shorttable');
alert(b);
b.parentNode.removeChild(b);
var body = document.getElementsByTagName("body")[0];
// creates a <table> element and a <tbody> element
var tbl = document.createElement("table");
tbl.setAttribute('id','tracktable');
var tblBody = document.createElement("tbody");
// creating all cells
for (var j = 0; j < 2; j++) {
// creates a table row
var row = document.createElement("tr");
for (var i = 0; i < 2; i++) {
// Create a <td> element and a text node, make the text
// node the contents of the <td>, and put the <td> at
// the end of the table row
var cell = document.createElement("td");
var cellText = document.createTextNode("cell is row "+j+", column "+i);
cell.appendChild(cellText);
row.appendChild(cell);
}
// add the row to the end of the table body
tblBody.appendChild(row);
}
// put the <tbody> in the <table>
tbl.appendChild(tblBody);
// appends <table> into <body>
body.appendChild(tbl);
// sets the border attribute of tbl to 2;
tbl.setAttribute("border", "2");
}
function shortenmode()
{
var b = document.getElementById('tracktable');
b.parentNode.removeChild(b);
var body1 = document.getElementsByTagName("body")[0];
// creates a <table> element and a <tbody> element
var tbl1 = document.createElement("table");
tbl1.setAttribute('id','shorttable');
var tblBody1 = document.createElement("tbody");
// creating all cells
for (var j = 0; j < 2; j++) {
// creates a table row
var row = document.createElement("tr");
for (var i = 0; i < 2; i++) {
// Create a <td> element and a text node, make the text
// node the contents of the <td>, and put the <td> at
// the end of the table row
var cell = document.createElement("td");
var cellText = document.createTextNode("cell is row "+j+", column "+i);
cell.appendChild(cellText);
row.appendChild(cell);
}
// add the row to the end of the table body
tblBody1.appendChild(row);
}
// put the <tbody> in the <table>
tbl1.appendChild(tblBody1);
// appends <table> into <body>
body1.appendChild(tbl1);
// sets the border attribute of tbl to 2;
tbl1.setAttribute("border", "2");
//here it will work
//var b = document.getElementById('shorttable');
//alert(b);
//b.parentNode.removeChild(b);
//myP.removeChild(myTextNode);
}
</script>
</head>
<body >
<button type="button" name="website" onclick=trackmode() > track</button>
<button type="button" name="website1" onclick=shortenmode() > short </button>
</body>
</html>
你能展示你的HTML並解釋什麼是未能發生? – lonesomeday 2011-06-08 10:54:36
我試圖刪除當前表並按照按鈕單擊顯示新的表。 – sagar 2011-06-08 11:00:05
其工作..因爲我在這裏顯示同一張表,這就是爲什麼我沒有認出它 – sagar 2011-06-08 11:38:32