22.11.2017, 14:21
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
Вопрос на засыпку (интересная задачка)
Всем добрый день, подскажите. Столкнулся с такой интересной задачкой, как решить, вообще не представляю.
На сайте есть таблицы характеристик.
У какого-то товара таблица сделана в 3 столбца, у какого-то в 2.
Вот пример, та же таблица, только без рамки. Первая - правильная в 3 столбца. Вторая(ниже) не правильная, т.к. она в 2 столбца.
--------------------------------------------------------
Количество шпинделей --------- шт ---------- 5
Диаметры шпинделей --------- мм ---------- 40
Диаметр фрез наружный ------- мм ------ 110...145
--------------------------------------------------------
--------------------------------------------------------
Количество шпинделей, шт -------- 5
Диаметры шпинделей, мм ---------- 40
Диаметр фрез наружный, мм ------- 110...145
--------------------------------------------------------
можно ли написать какой-то код, чтобы он вторую таблицу(не правильную) сделал такого же вида как первая? Т.е. добавился в средине еще один столбец, и окончания из первых ячеек( шт, мм, об) перенеслись в этот средний столбец, чтобы обе таблицы выглядели одинаково. А то блин один манагер нормально заполнил, а другой, нет. Сейчас мучаюсь.
|
|
22.11.2017, 14:39
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от espltd
|
можно ли написать какой-то код, чтобы он вторую таблицу(не правильную) сделал такого же вида как первая?
|
Можно.
Только нужно знать с каким контентом ты имеешь дело.
|
|
22.11.2017, 15:01
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
ну тут наверное контент не принципиален полностью, в принципе наверное достаточно если с конца строки будет срезать 5 символов например, и тогда сюда подайдут и шт, мм, см, об/мин, и еще некоторые, главное выцепить их и отобразить в среднем столбце, т.е. как бы вырезать из левого столбца (из ячеек) и проставить в среднее. Подскажи пожалуйста, как можно подобное реализовать, такая задачка мне не по зубам, хотя бы принцип работы понять
|
|
22.11.2017, 15:02
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
задача банальная
<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>
Не проще ли обработать исходные данные?
|
|
22.11.2017, 15:13
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
я javascript в процессе изучения. Я понял, что вы написали, сам не додумался) Спасибо, на данный момент, мне это должно помочь, потом обработаем входные данные.
|
|
22.11.2017, 15:16
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
Почему-то на сайте не работает, после запятой срезает символы, а новый столбец с ячейками не отображается, видимо не создается
|
|
22.11.2017, 15:19
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
там структура таблицы получается
table > thbody > tr > td
но вот понял еще один момент, также есть обозначения, которые идут не после запятой, а просто после пробела в скобках (мм). Блин, что ж делать
|
|
22.11.2017, 15:47
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от espltd
|
ну тут наверное контент не принципиален полностью
|
Ты спец - тебе видней...
|
|
22.11.2017, 15:47
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от espltd
|
Блин, что ж делать
|
Повторюсь
Сообщение от ksa
|
нужно знать с каким контентом ты имеешь дело
|
|
|
22.11.2017, 15:53
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
ну смотри, вот например рабочая таблица. Скидываю скрин. Контент практически у всех такой.
у неё столбца среднего нет, тут все обозначения в скобках, а в других некоторых таблицах они не в скобках, а после запятой, вот мне и надо досоздать столбец в средине и эти обозначения перенести туда.
Первый вариант кода, который прислал Dilettante_Pro почему-то не робит((
|
|
|
|