2013-06-12 130 views
3

在這裏,我有一個現有的表:添加標籤附上現有的表

<table> 
    <tr> 
    <td>content 
    </td> 
    </tr> 
</table> 

,並在JavaScript中,我已經獲得該表:

var isert = main_code.getElementsByTagName("table"); 

如何使用JavaScript來貼標籤。這個表看起來像:

<div id=extra> 
<table> 
    <tr> 
    <td>content 
    </td> 
    </tr> 
</table> 
</div> 

PS:看來insertAdjacentHTML只適用於目前<table>標記,而不是整個<table></table>

謝謝!

回答

6

試試這個:

var tables = main_code.getElementsByTagName("table"); 
for(var i = 0; i < tables.length; i++) { 
    var div = document.createElement("div"); 
    var _t = tables[i]; 
    var parent = _t.parentNode; 
    div.id = "extra"; 
    parent.replaceChild(div, _t); 
    div.appendChild(_t); 
} 

雖然,這增加了相同id多個div容器,如果有一個以上的table。您可能需要使用div.className = 'extra'

+0

不錯!非常感謝! – Darklizard

+0

您好先生Amberlamps,我試過你的代碼一起處理多個表,並有一些麻煩。看到小提琴[>> FIDDLE LINK <<](http://jsfiddle.net/helisz/wGp8j/1/)它似乎工作不舒服... – Darklizard

+0

@Darklizard:是的,你是對的。沒想到那種行爲。我在我的答案中修復了代碼。請再試一次。 – Amberlamps