Show toolbar

2011年10月28日 星期五

JavaScript Dom or innerHTML delete text

標題:使用Dom方法或innerHTML方法刪除td標籤內容文字
方法一:
JavaScript (index.html):
<table id="codeboxy">
    <tr>
        <td>Hello</td>
        <td colspan="2">world</td>
    </tr>
    <tr>
        <td>How</td>
        <td>are</td>
        <td>you</td>
    </tr>
</table>
<script type="text/javascript">
    var a = document.getElementById('codeboxy').getElementsByTagName('tr')[1].getElementsByTagName('td')[1];
    var n = document.createElement('td');
    a.parentNode.insertBefore(n, a); //在目標前插入新td
    a.parentNode.removeChild(a); //刪除目標td標籤
</script>

方法二:
JavaScript (index.html):
<table id="codeboxy">
    <tr>
        <td>Hello</td>
        <td colspan="2">world</td>
    </tr>
    <tr>
        <td>How</td>
        <td>are</td>
        <td>you</td>
    </tr>
</table>
<script type="text/javascript">
    document.getElementById('codeboxy').getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerHTML = ""; //直接讓目標內容為空
</script>
說明:
方法一使用Dom先以parentNode為立足點在目標前建立新的空td,同樣再以parentNode為立足點刪除目標。
方法二則使用innerHTML語法直接以空值取代目標內容。

比較:
方法一速度較快,但程式較長不易理解,
方法二速度較慢,但程式精簡容易理解。

沒有留言:

張貼留言