2010-06-16 57 views
1

我們有一個表:jQuery的替換表

<table> 
<tr> 
    <td width="10">1</td> 
    <td>text 1</td> 
</tr> 
<tr> 
    <td width="10">2</td> 
    <td>text 2</td> 
</tr> 
<tr> 
    <td width="10">3</td> 
    <td>text 3</td> 
</tr> 
<tr> 
    <td width="10">4</td> 
    <td>text 4</td> 
</tr> 
<tr> 
    <td width="10">5</td> 
    <td>text 5</td> 
</tr> 
<tr> 
    <td width="10">6</td> 
    <td>text 6</td> 
</tr> 
<tr> 
    <td width="10">7</td> 
    <td>text 7</td> 
</tr> 
<tr> 
    <td width="10">8</td> 
    <td>text 8</td> 
</tr> 
<tr> 
    <td width="10">9</td> 
    <td>text 9</td> 
</tr> 
<tr> 
    <td width="10">10</td> 
    <td>text 10</td> 
</tr> 
</table> 

我們通過投擲到每個<tr><td>更新這個表,每個<td>width="10"屬性必須被刪除。

它必須看起來像:

<table> 
<tr> 
    <td>text 1</td> 
    <td>text 2</td> 
    <td>text 3</td> 
</tr> 
<tr> 
    <td>text 4</td> 
    <td>text 5</td> 
    <td>text 6</td> 
</tr> 
<tr> 
    <td>text 7</td> 
    <td>text 8</td> 
    <td>text 9</td> 
</tr> 
<tr> 
    <td>text 10</td> 
</tr> 
</table> 

我們怎樣才能做到這一點?

+0

你有什麼迄今所做?也許你可以發佈你的jQuery代碼? – 2010-06-16 10:33:42

回答

1

包裝之前刪除與attribute-equals selector這些元素,像這樣:

$("table tr td[width='10']").remove(); 
var elems = $("table tr td").unwrap(); 
for(var i = 0; i < elems.length; i+=3) { 
    elems.slice(i, i+3).wrapAll("<tr></tr>"); 
}​ 

You can play with it here

+0

@Happy - 上面的演示確實:)你看到了什麼行爲?這應該是非常直接的... – 2010-06-16 10:56:45

+0

對不起,這是我的錯誤 – Happy 2010-06-16 11:00:58