Замена тегов с помощью js

P
На сайте с 11.03.2014
Offline
12
8177

Здравствуйте, возникла такая проблема, есть код:

<table>
<tbody>
<tr class="row1">
<td class="col1">
<td class="col2">
<td class="col3">
<td class="col4">
</tr>
</tbody>
</table>

Этот код создает движок сайта и доступа к файлам движка к сожалению нет.

Нужно заменить это все на:

<div class="row">
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
</div>

Но нужно заменить так, чтобы сохранилось содержимое тегов.

Помогите пожалуйста, я js не знаю и для меня это все очень сложно

D.iK.iJ
На сайте с 26.05.2013
Offline
239
#1

Если есть возможность заключить ненужный кусок текста в тег <span id="zamena">тут таблица</span> или просто примвоить ID="zamena", то скрипт примерно такой будет:

document.getElementById("zamena").innerHTML = "<div class='row'><div class='span3'></div><div class='span3'></div><div class='span3'></div><div class='span3'></div></div>";

Вставить Javascript лучше в код после загрузки заменяемого куска. Ну или вызывать позднее.

---------- Добавлено 16.08.2014 в 02:04 ----------

Или как самодельный вариант поиска по тексту:

<script>

// делаем, например, <body id="zamena">. Берем его:
var zamena=document.getElementById("zamena").innerHTML;

// Замена </table> на 111111111 (у меня тут с мнемоникой).
zamena = zamena.replace(/&lt;&47;table&qt;/gi,"111111");

//Вставляем обратно
document.getElementById("zamena").innerHTML = zamena;
</script>
Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
vob2014
На сайте с 30.03.2014
Offline
91
#2

правильная идея, только ТС что-то про содержимое тегов сказал, это типа значения полей таблицы?

в принципе на JS можно найти эту таблицу в DOM, удалить, и на ее месте создать новый элемент как надо... но код такой это уже к прогеру реальному... если кто напишет тут будет весьма интересно...

DiKiJ строго говоря чтобы найти элемент в DOM не обязательно знать его ид и имя. Тем более боди :)

а сначала топик стартер сказал бы чем уму таблица не нравится? или препод такое задание (немножко абсурдное) дал?

...
siv1987
На сайте с 02.04.2009
Offline
427
#3

<script>

$('table#id').replaceWith('<div class="row"></div>');

</script>

vob2014
На сайте с 30.03.2014
Offline
91
#4

я так понял еще надо сохранить содержимое ячеек таблицы в новой струтуре... и таблицу надо найти не знаяя ее id

(и видимо структуру таблицы надо скопировать в структуру дивов)

siv1987
На сайте с 02.04.2009
Offline
427
#5

<script>

var table = $('table');

var elem = $('<div class="row" />');

table.find('td').each(function(){

elem.append($('<div class="span3">'+$(this).html()+'</div>'));

});

table.replaceWith(elem);

</script>

Metal Messiah
На сайте с 01.08.2010
Offline
163
#6

вариант от siv1987 по идее рабочий, но я бы делал на php через ob_start поиском сигнатуры и подменой, т.к. там же явно не все таблицы всех страниц заменить надо

P.S. а зачем ьаблицу дивами заменять? Проще на таблицу CSS переписать

anonymous, думай что говоришь и не забывай подписать отзыв :)
P
На сайте с 11.03.2014
Offline
12
#7

siv1987, спасибо огромное!! Вы очень помогли!!))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий