2013-03-25 5 views
0

Я не могу понять это.Замените таблицу на div, если содержимое таблицы соответствует определенному значению

Мне интересно, как я могу условно изменить таблицу ниже на div.

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

Существует несколько таблиц. Только тот, который содержит указанный текст, должен быть заменен на div. И содержимое table должно быть заменено на замену div.

Я не уверен, что это можно сделать.

+1

Это так элементарно, пожалуйста, прочитайте [JQuery документы] (http://api.jquery.com/) ... – Dom

+0

Вы пытаетесь заменить HTML 'table' на один' div' и поместить текстовое содержимое тега 'td' в' div'? ... с конечным результатом в этом случае является '

Text Here
'? –

+0

@Dom Пожалуйста, дайте мне лучшее направление. –

ответ

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/

И версия этого реализована как resuable JQuery плагин:

http://jsfiddle.net/87XhU/

+0

В коде есть две другие таблицы, поэтому таблица должна быть заменена на div на основе текста внутри таблицы. –

+0

@elena: ahhh ... так вот что вы имели в виду. В этом вопрос не совсем ясен. –

+0

@elenanincevic Вы имеете в виду, что у вас есть несколько элементов таблицы, и вы хотите заменить один из них элементом div? Или вы имеете в виду, что таблицы должны быть заменены в соответствии с их текстовым содержимым? – undefined

Смежные вопросы