Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   В основном блоке div, переделать в нем table в div (https://javascript.ru/forum/misc/49702-v-osnovnom-bloke-div-peredelat-v-nem-table-v-div.html)

Sakyra 25.08.2014 13:53

В основном блоке div, переделать в нем table в div
 
Добрый день в просторах интернета не могу найти ответ прошу помощи в ответе или в поиске :(

<div id="pollBlock2">
<table border="0">
   <tbody>

       <tr><td>Тест</td></tr>

       <tr><td><table border="0"><tbody><tr><td>Тест</td></tr></tbody></table></td></tr>

   </tbody>
</table>
</div>


вот как мне все сделать так что-бы все <table> заменились на <div>
что-бы получить такой вид

<div id="pollBlock2">
<div border="0">
   <tbody>

       <tr><td>Тест</td></tr>

       <tr><td><div  border="0"><tbody><tr><td>Тест</td></tr></tbody></div></td></tr>

   </tbody>
</div>
</div>


заранее всем большое спасибо

tsigel 25.08.2014 14:24

Sakyra, "<tr><td><div border="0"><tbody><tr><td>Тест</td></tr></tbody></div></td></tr>" - это не валидный код, так нельзя писать

var parent = document.querySelector("#pollBlock2"),
     table = parent.querySelector("table"),
     div;


  div = document.createElement("DIV");
  div.setAttribute("border", "0");
  parent.appendChild(div);
  div.appendChild(table);

Sakyra 25.08.2014 14:28

tsigel,
не сработал
также протестировала тут ссылка

Sakyra 25.08.2014 14:29

точнее с работал но на один table а не на все
также еще заметила что скрипт не заменяет <table>
а охватывается <div><table></table></div>

tsigel 25.08.2014 14:30

Sakyra, а я и написал код на 1 таблицу

Sakyra 25.08.2014 14:33

tsigel,
а могли бы вы помочь что бы table за менялся на div но что бы все содержимое осталось в нутри

<table border="0"><tbody><tr><td>Тест</td></tr></tbody></table>

<div border="0"><tbody><tr><td>Тест</td></tr></tbody></div>

tsigel 25.08.2014 14:35

http://jsfiddle.net/Lzwwz9xd/1/

var tables = parent.querySelectorAll("#pollBlock2 table"),
     div, parent;

Array.prototype.forEach.call(tables, function (table) {
    
    parent = table.parentNode;
    div = document.createElement("DIV");
    div.setAttribute("border", "0");
    parent.appendChild(div);
    div.appendChild(table);

});

Viral 25.08.2014 14:36

Sakyra, попробуйте создать html файл с кодом
<div border="0"><tbody><tr><td>Тест</td></tr></tbody></div>

потом попробуйте открыть его в хроме или лисе и проинспектировать получившееся...
затем осознайте бессмысленность этих манипуляций и спросите себя "а зачем я это делаю?"

Sakyra 25.08.2014 14:45

Viral,
ну если бы мне это было бы не нужно я бы не заморачивалась!
tsigel,
спасибо

ksa 25.08.2014 14:57

Цитата:

Сообщение от Sakyra
ну если бы мне это было бы не нужно я бы не заморачивалась!

Похоже это уже ворос веры... Это для какой-то секты? Типа HTMLисты 7-го дня... :D


Часовой пояс GMT +3, время: 02:24.