Добавить класс к таблице но не ко всем 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);
})();
|
Цитата:
|
Цитата:
|
<button id="set-notranslate-class-fot-table-cell-button">Set «notranslate» class for table cells</button>
<script>
document.addEventListener('DOMContentLoaded', () => {
const button = document.querySelector('#set-notranslate-class-fot-table-cell-button');
if (!button) return;
button.addEventListener('click', () => {
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);
});
});
</script>
|
Цитата:
|
|
| Часовой пояс GMT +3, время: 14:05. |