2012-03-19 67 views
0

其內容這裏就是我要改變我的HTML代碼。刪除特定HTML代碼,並通過JS

<table> 
    [some table row] 
    <tr class="high"> 
     some text 
    </tr> 
    [many more table row] 
</table> 

現在我想刪除它的類和內部內容的以下標記。 是否有任何方式使用替代像命令以刪除它「取代(/圖案/,‘’)」。

請寫出你是如何寫的圖案的小細節。

+1

不要使用正則表達式來解析HTML。 – jantimon 2012-03-19 09:03:08

+1

*「現在我想刪除它的類和內容中的以下標記」*哪個標記?你已經說過「下面的標籤」,但沒有遵循,你知道,一個標籤。 :-) – 2012-03-19 09:03:47

+0

現在我想刪除以下標籤與它的類和內容。 – 2012-03-19 09:05:05

回答

0

你可能想看看jQuery庫。 它提供了很多方法來搜索和修改html代碼。

您可以搜索CSS模式和刪除元素:

jQuery("tr.high").remove(); 

http://www.jquery.com

0

(我假設你在瀏覽器中運行的JavaScript,因爲你要處理的HTML。 )

而不是試圖用正則表達式解析HTML(通常是一個壞主意),你可能會更好過真正建立DOM樹,然後遍歷它來獲得conten你需要。

舉例來說,你可以把該表在斷開連接的DIV:

var div = document.createElement('div'); 
div.innerHTML = your_html_string; 

...然後使用DOM方法(也可能是innerHTML)和/或庫,以獲得您所需要的內容。

參考文獻:


如果你打算做大量的工作以J avaScript在瀏覽器上,我建議使用一個良好的JavaScript庫,例如jQueryPrototypeYUIClosure,或any of several others。這些平滑過度瀏覽器的差異爲您提供實用功能的很多這樣你就可以專注於手頭的問題。

2

如果你的表有一個id,說table_id您可以通過做到這一點,

var table = document.getElementById('table_id'); 
for(var i=0; i<table.rows.length;i++){ 
    if(table.rows[i].className=="high"){ 
     table.deleteRow(i); 
     break; 
    } 
} 
0

你爲什麼不使用jQuery庫..它的簡單與..這應該做的誘騙

$(document).ready(function(){ 
    $("tr.high").remove(); 
}) 

Jquery .remove()