2013-03-25 78 views
0

我無法弄清楚這一點。用div替換表格,如果表格內容匹配某個值

我想知道如何有條件地將下表改爲div。

<table border="0" cellpadding="0" cellspacing="0" width="100%"> 
<tr> 
    <td> 
    Text Here 
    </td> 
</tr> 
</table> 

有多個表。只有包含指定文本的文字應該替換爲divtable的內容應該放在替換div的內部。

我不確定這是否可以完成。

+1

這是如此基本,請通過[jQuery的文檔]閱讀(http://api.jquery.com/)... – Dom 2013-03-25 22:13:20

+0

你想用一個'div'替換HTML'table',並把'td'標籤的文本內容放在'div'裏面嗎? ...在這種情況下最終的結果是'

Text Here
'? – 2013-03-25 22:19:26

+0

@Dom請給我一個更好的方向。 – 2013-03-25 22:21:37

回答

3

您可以使用replaceWith方法:

$('table').replaceWith(function() { 
    return '<div>' + $(this).text() + '</div>'; 
}); 

http://jsfiddle.net/MHuns/

如果要選擇具有特定文本內容的表格元素,你可以使用filter方法:

$('table').filter(function(){ 
    return $.trim($(this).text()) === 'Text Here'; 
}).replaceWith(function() { 
    return '<div>' + $(this).text() + '</div>'; 
}); 

http://jsfiddle.net/MHuns/2/

和它的版本中實現的可重複使用jQuery插件:

http://jsfiddle.net/87XhU/

+0

在我需要的代碼中還有兩個表,所以表需要根據表中的文本由div替換。 – 2013-03-25 22:26:23

+0

@elena:ahhh ...所以這就是你的意思。問題並不完全清楚。 – 2013-03-25 22:27:19

+0

@elenanincevic你的意思是說你有幾個表格元素,你只想用div元素替換其中一個元素?或者你的意思是表格應該根據文字內容進行替換? – undefined 2013-03-25 22:29:58