Добавить класс к таблице но не ко всем td
Здравствуйте уважаемые форумчане!
Ищу скрипт который добавит класс notranslate к определенным столбцам, если такой существует. Так как google переводчик сайта, переводит в таблице цифры, и чтобы он не переводил, нужно добавить класс, а вручную добавлять это слишком долго( Есть редактор ckeditor 4 я копирую в него html таблицу. Там всего три колонки и N-строк. Необходимо добавить класс в 2 и 3 колонку во все строки этих колонок начиная с второго номера строки. То есть, в 2 и 3 колонки необходимо пропустить шапку. Я искал такой скрипт, потом искал что-то похожее. Но все четно, может и находил но не понял что это именно он. Скажите пожалуйста, такой скрипт существует? Может есть у кого-то? Заранее большое спасибо! |
Ну переводит и пусть переводит, в чем проблема-то?
Написать скрипт, который проставляет определенный класс определенным элементам таблицы - не проблема. Проблема в том, что вам нужно модифицировать разметку в визуальном редакторе. Если операция разовая, то можно её провести в полуавтоматическом режиме (ручками куда-то что-то копировать, а классы проставлять скриптом). Иначе нужно писать плагин для WYSIWYG. |
Цитата:
|
Alexprom, у вас точно заголовок таблицы находится в тэге tbody, не в thead?
|
Цитата:
<div class="tg-wrap"><table> <thead> <tr> <th>Продукты</th> <th>Вес (г)</th> <th>Ккал</th> </tr> </thead> <tbody> <tr> <td>Земляника, клубника</td> <td>200</td> <td>82</td> </tr> <tr> <td>Молоко 2,5%</td> <td>100</td> <td>54</td> </tr> <tr> <td>Творог, 0 %</td> <td>500</td> <td>400</td> </tr> <tr> <td>Горький шоколад</td> <td>50</td> <td>270</td> </tr> <tr> <td>Кофе растворимый</td> <td>30</td> <td>36</td> </tr> <tr> <td>Банан</td> <td>160</td> <td>154</td> </tr> <tr> <td>Итого:</td> <td>1040</td> <td>996</td> </tr> </tbody> </table></div> |
<div class="tg-wrap"><table> <thead> <tr> <th>Продукты</th> <th>Вес (г)</th> <th>Ккал</th> </tr> </thead> <tbody> <tr> <td>Земляника, клубника</td> <td>200</td> <td>82</td> </tr> <tr> <td>Молоко 2,5%</td> <td>100</td> <td>54</td> </tr> <tr> <td>Творог, 0 %</td> <td>500</td> <td>400</td> </tr> <tr> <td>Горький шоколад</td> <td>50</td> <td>270</td> </tr> <tr> <td>Кофе растворимый</td> <td>30</td> <td>36</td> </tr> <tr> <td>Банан</td> <td>160</td> <td>154</td> </tr> <tr> <td>Итого:</td> <td>1040</td> <td>996</td> </tr> </tbody> </table></div> <style>td {padding: 5px; background: red;}td.notranslate {background: yellow;}</style> <script> document.querySelectorAll('.tg-wrap tbody tr').forEach((row, rowIndex) => { row.querySelectorAll('td').forEach((cell, cellIndex) => { if (!cellIndex) return; cell.classList.add('notranslate'); }); }); </script> |
Цитата:
|
Цитата:
Цитата:
Попробуйте: (() => { const htmlString = prompt('Enter your HTML table'); if (!htmlString || !htmlString.trim().length) return; const container = document.createElement('div'); container.innerHTML = htmlString; container.querySelectorAll('tbody tr').forEach((row, rowIndex) => { row.querySelectorAll('td').forEach((cell, cellIndex) => { if (cellIndex) cell.classList.add('notranslate'); }); }); prompt('Take your prepared table', container.innerHTML); })(); |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 09:04. |