powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Какая-то тонкость при работе с innerHTML
10 сообщений из 10, страница 1 из 1
Какая-то тонкость при работе с innerHTML
    #36025761
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Есть кусок кода на JS
Код: plaintext
1.
2.
3.
...
obj.innerHTML="<select><option>qqq</option></select>";
...

Все работает нормально, отображает указанный HTML на элементе DIV в нужном месте (DIV создается динамически, добавляется к document.body.appendChild() и у него style.position='absolute')

при попытке заменить на таблицу

Код: plaintext
1.
2.
3.
...
obj.innerHTML="<table><tr><td>qqq</td></tr></table>";
...

Ничего не отрисовывает, но внизу страницы появляется какой-то невидимый блок

Дальше стал пробовать использовать в innerHTML разные элементы.
По одной части элементов отрабатывает нормально (SELECT, INPUT), а по другой добавляет какой-то невидимый блок в конец страницы.

Мне нужно в DIV отобразить таблицу или список

В чем тут дело?
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36025819
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хочется тестировать или проверять, поэтому сделаю предположение по аналогии со вставкой таблицы средствами DOM: иерархия таблицы не table - > tr -> td, a table -> tbody -> tr -> td. Попробуй добавить tbody ... да и стиль применить не помешает - вдруг там белое по белому или размер шрифта никакой или отступы отрицательные ...
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36025899
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас я буду много ругаться (пип, пип, пип) все отрабатывает как надо, просто цвет текста совпал со цветом фона :)

PS: Как можно побороть эффект увеличения высоты страницы при динамическом добавлении элемента DIV, т.е. при добавлении дива высота страницы чуть чуть увеличивается и появляется вертикальная линейка прокрутки, хотя див по размерам и расположению не выходит за границы начальной страницы. Это изменение высоты появляется даже когда див пустой.
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36026025
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного поразбирался выяснилось, что если страница имеет тэг <FORM>, то добавление дива в виде
Код: plaintext
document.forms[ 0 ].appendChild(objdiv)

не увеличивает общую высоту страницы, а использование
Код: plaintext
document.body.appendChild(objdiv)

увеличивает, высоту.
Но ведь не все страницы имеют тэг FORM, может есть какой-нибудь универсальный способ добавления свободнорасполагаемого дива к странице без увеличения высоты последней?
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36026096
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно пользоваться стилем overflow:hidden у блочных контейнеров - очень действенная штука.
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36026201
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А этот стиль применяется к вставляемому диву? или к странице?

Стили страниц менять запрещено, т.к. это пишется, что-то типа компонента, который должен работать с любыми HTML-страницами, которые могут по разному быть оформлены и сделаны.

Попробовал применить этот стиль к создаваемому диву -в результате все равно увеличивает высоту страницы.
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36026444
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, к овнеру! Просто я ж не знаю, помещается твой див в другой контейнер или просто на страницу.
Хотя можно также применять и к этому диву, тогда он не будет раздвигаться по высоте в засисмости от контента и будет соответствовать заданной высоте. Если страница все равно раздвигается, значит, его координата + высота превышает высоту страницы. Это раз.
Второе - при добавлении дива прямо на страницу он помещается не перед контентом, а после него. Тогда надо играться с его положением (задавать абсолютное позиционирование относительно родителя с хотя бы позиционированием relative). Но решение может быть после появления соответствующей задачи.
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36027000
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У создаваемого DIV позиционирование абсолютное и его размеры фиксированы и занимаю порядка 20% общей площади экрана. Причем когда DIV выводится, то видно, что он сам не может выходить за границы экрана. И увеличение высоты страницы происходит на одинаковую высоту, независимо от высоты создаваемого DIVa.

Пока проблему решил, беря на странице какой-нибудь элемент и добавляя DIV к его родителю через parentNode.appendChild(div). В этом случае высота страницы не увеличивается. Хотя мне это кажется как-то через Ж и не понимаю логику работы.
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36028653
sld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sld
Гость
я у div обычно
Код: plaintext
display: inline
добавлял
...
Рейтинг: 0 / 0
Какая-то тонкость при работе с innerHTML
    #36034729
smm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал inline -все равно увеличивает высоту страницы.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Какая-то тонкость при работе с innerHTML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]