2011-07-25 120 views
0

我想檢索文檔中只包含一行和一個單元格的每個表格。那些表格應該完全替換爲單個單元格的內容。如何刪除特定的HTML表格?

<table> 
    <tr> 
    <td> 
     Sample Text 
    </td> 
    </tr> 
</table> 

轉換爲: 示例文字

可以在任何HTML編輯器,如MS的Expression Web或本Dreamweaver幫助或做我舉例來說,下面的表應該與它的文本替換必須編寫一個程序? 我在C#中有一些經驗。

+0

你能更具體嗎?你想以編程方式從HTML中檢索數據嗎? – TheBoyan

+1

只刪除包含行和列的表?你的意思是'每個人只有一個',或者一般來說只有他們之一。如果是後者,那不是每桌都有,還是你有空桌子?你爲什麼有空桌子? – Gary

+0

如果一個應用程序可以做到這一點,否則我不得不寫一個簡單的程序,但我需要幫助,因爲我是一個begginer我的意思是表conation exacltly一行一列 – Mehdi

回答

1

這將找到每行有1行和1個單元格的表格,並將其替換爲其內部文本。

var allTables = document.getElementsByTagName("table"); 
for(a=0; a<allTables.length; a++){ 
var allRows = allTables[a].getElementsByTagName("tr"); 
var allCells = allRows[0].getElementsByTagName("td"); 
    if(allRows.length===1 && allCells.length===1){ 
    var tdInnards = document.createElement("div"); 
     tdInnards.appendChild(document.createTextNode(allCells[0].innerHTML)); 
    } 
    } 
    allTables[a].insertBefore(tdInnards); 
    allTables[a].parentNode.removeChild(allTables[a]); 
} 

但是,這只是JavaScript,所以它會在美學上達到你想要的,但不會實際上重寫頁面。您也許可以使用類似的東西來解析文本並輸出結果。

+0

每個表都有一些行和一些列,但由於某些原因,我有一些表conation只有一行和一列,所以我不需要主題,我想用平面文本替換主題,謝謝 – Mehdi

+0

如果這是爲了只加載頁面的性能(所以它不需要渲染一個表格,只是文字)javascript會讓事情變得更糟。瀏覽器已經加載了表格,並且在JavaScript啓動後需要更改該部分。我會說不要浪費你的時間... – Peter

+0

@Peter:你說得對,當我寫答案時,是什麼他試圖做的事情並不完全清楚。我離開了它,因爲我計劃在有機會時改進答案。 – Gary