Вопрос на засыпку (интересная задачка)
Всем добрый день, подскажите. Столкнулся с такой интересной задачкой, как решить, вообще не представляю.
На сайте есть таблицы характеристик. У какого-то товара таблица сделана в 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 но вот понял еще один момент, также есть обозначения, которые идут не после запятой, а просто после пробела в скобках (мм). Блин, что ж делать |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
данные в таблицу как получаешь ? или таблица статичная ?
|
тебе нужны прямо данные. если только так(
Ширина обработки, мм 20-200 Толщина обработки, мм 8-160 Скорость подачи, м/мин 6-24 Частота вращения шпинделей,об/мин 6800 Диаметр шпинделей, мм 40 Диаметр фрез, мм 110-180 Количество шпинделей 5 Суммарная мощность, кВт 34,25 Диаметр воздуховода, мм 120 Габариты, м Э3,5х1,8х1,8 Масса, кг 3600 Количество шпинделей (шт) 6 Минимальная длина обрабатываемой заготовки (мм) 200 Ширина обработки (мм) 25-200 Высота обработки (мм) 8-120 Скорость подачи (м/мин) 5-30 Частота вращения шпинделей (об/мин) 6000 Давление в пневмосистеме, Атм. 6 Диаметр шпинделей (мм) 40 Диаметр инструмента на 1-ом шпинделе (мм) 125 Диаметр инструмента на вертикальных шпинделях (мм) 125-180 Диаметр инструмента на горизонтальных шпинделях (мм) 125 Диаметр подающего ролика (мм) 140 Диаметр вытяжного патрубка (мм) 140 Мощность двигателя подъёма траверсы (КВт) 0,75 Мощность двигателя подачи (КВт) 4 Мощность нижнего шпинделя (КВт) 5,5 Мощность правого шпинделя (КВт) 5,5 Мощность левого шпинделя (КВт) 5,5 Мощность верхнего шпинделя (КВт) 7,5 Мощность 2-ого верхнего шпинделя (КВт) 5,5 Мощность 2-го нижнего шпинделя (КВт) 5,5 Суммарная мощность (КВт) 39,85 (53,25) Габаритные размеры (мм) 3930х1500х1700 Масса станка (кг) 3200 |
Цитата:
Ты понимаешь с чем вообще может работать JS? Откуда вообще эти "данные" берутся? Как вообще формируется твоя страница? |
Таблица вылазит из базы данных. Заранее менеджеры заводили её через визуальный редактор tinymce. Естественно завели по разному, вот собственно так и выводится она из базы
|
espltd,
табличные данные хранить в базе как html уже плохо. |
espltd, так будет тестовый пример с теми данными или нет? Я за тебя его делать не стану. :no:
И если данные хранятся в БД - лучше таки их переделать и хранить нормально, чем всякий раз переделывать на клиентах. |
espltd, вот решение твоей проблемы
https://javascript.ru/forum/misc/712...tml#post471041 Там человек за тебя тестовый пример сделал... |
Часовой пояс GMT +3, время: 06:03. |