Вопрос на засыпку (интересная задачка)
Всем добрый день, подскажите. Столкнулся с такой интересной задачкой, как решить, вообще не представляю.
На сайте есть таблицы характеристик. У какого-то товара таблица сделана в 3 столбца, у какого-то в 2. Вот пример, та же таблица, только без рамки. Первая - правильная в 3 столбца. Вторая(ниже) не правильная, т.к. она в 2 столбца. -------------------------------------------------------- Количество шпинделей --------- шт ---------- 5 Диаметры шпинделей --------- мм ---------- 40 Диаметр фрез наружный ------- мм ------ 110...145 -------------------------------------------------------- -------------------------------------------------------- Количество шпинделей, шт -------- 5 Диаметры шпинделей, мм ---------- 40 Диаметр фрез наружный, мм ------- 110...145 -------------------------------------------------------- можно ли написать какой-то код, чтобы он вторую таблицу(не правильную) сделал такого же вида как первая? Т.е. добавился в средине еще один столбец, и окончания из первых ячеек( шт, мм, об) перенеслись в этот средний столбец, чтобы обе таблицы выглядели одинаково. А то блин один манагер нормально заполнил, а другой, нет. Сейчас мучаюсь. |
Цитата:
Только нужно знать с каким контентом ты имеешь дело. |
ну тут наверное контент не принципиален полностью, в принципе наверное достаточно если с конца строки будет срезать 5 символов например, и тогда сюда подайдут и шт, мм, см, об/мин, и еще некоторые, главное выцепить их и отобразить в среднем столбце, т.е. как бы вырезать из левого столбца (из ячеек) и проставить в среднее. Подскажи пожалуйста, как можно подобное реализовать, такая задачка мне не по зубам, хотя бы принцип работы понять
|
задача банальная
<table border="1">
<tr>
<td>Количество шпинделей, шт</td>
<td>5</td>
</tr>
<tr>
<td>Диаметры шпинделей, мм</td>
<td>40</td>
</tr>
<tr>
<td>Диаметр фрез наружный, мм</td>
<td>110...145</td>
</tr>
</table>
<script>
var rows = document.querySelectorAll('tr');
for(var i = 0;i < rows.length; i++) {
var cellNew = document.createElement('td');
var cell1 = rows[i].children[0];
var values = (cell1.innerText).split(',');
cell1.innerText =values[0];
cellNew.innerText =values[1];
rows[i].insertBefore(cellNew, rows[i].children[1]);
}
</script>
Не проще ли обработать исходные данные? |
я javascript в процессе изучения. Я понял, что вы написали, сам не додумался) Спасибо, на данный момент, мне это должно помочь, потом обработаем входные данные.
|
Почему-то на сайте не работает, после запятой срезает символы, а новый столбец с ячейками не отображается, видимо не создается
|
там структура таблицы получается
table > thbody > tr > td но вот понял еще один момент, также есть обозначения, которые идут не после запятой, а просто после пробела в скобках (мм). Блин, что ж делать |
Цитата:
|
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 00:23. |