![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
WIPS |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
Суть вопроса.
Допустим, что от аякса (не важно откуда) пришел HTML, он содержится как строка в переменной. Теперь нам этот HTML нужно вставить в дерево элементов, чтобы он пропарсился и все такое, делаем так:
Вопрос в том, можно ли как-то менять этот HTML средствами DOM (а не парсиньем строки), до того как мы включим его в дерево элементов документа, т.е. как-то так (ф-ции выдуманные, не пинать!):
Насколько я понял - это не возможно, но буду рад если кто-нибудь меня переубедит ![]() ... или подскажет альтернативы --------------------
Автопроизводители, машины, марки, модели! |
||||
|
|||||
Astraller |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.8.2007 Где: $Украина[Кры м]->Феодосия Репутация: 2 Всего: 5 |
Возможно извращение, но почему не так:
Это сообщение отредактировал(а) Astraller - 15.6.2009, 13:49 -------------------- A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair |
|||
|
||||
WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
В такой ситуации во время
элемент span и наша строка уже вставляется в дерево DOM, а мне надо перед этим произвести манипуляции... --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
Astraller |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.8.2007 Где: $Украина[Кры м]->Феодосия Репутация: 2 Всего: 5 |
Я думал суть в изменении не до фактического вставления в DOM, а в изменении до того как увидит пользователь... я ошибался?
-------------------- A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
А почему бы это не сделать после добавления в документ? Ведь DOM работает с узлами, а не со строками.
|
|||
|
||||
WIPS |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
Суть именно в том, чтобы изменить до вставки. Камень предкновения не в отображении.
Мне не надо со строками. Я хочу работать именно с узлами. Но эти узлы должны быть не в текущем документе. Например мне придут элементы с id, кот. уже есть в текущем документе, мне нужно будет повыбирать те, кот. еще нет в моем документе и потом их повставлять в него (это для примера, не нужно цепляться именно к id, мне просто нужен способ работать с деревом DOM, но не в текущем документе). Кстати, как оказалось параллельно альтернативный документ создать нельзя :(
--------------------
Автопроизводители, машины, марки, модели! |
||||||
|
|||||||
Astraller |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.8.2007 Где: $Украина[Кры м]->Феодосия Репутация: 2 Всего: 5 |
Ээээ, в действительности можно попробовать соорудить скрытый фрейм, в который поместить полученный HTML. Таким образом вы получите "экземпляр странице в пробирке". С которым можно делать все что угодно.
-------------------- A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair |
|||
|
||||
bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: нет Всего: 6 |
Не понял для какой целы нужны данные манипуляции, да и вообще правильный ли подход к решению проблеммы...
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Вообще-то document.createElement(...)+ innerHTML=... никуда никакой элемент не вставляют. И getElementById свежесостряпанную веточку найти не смогут до его реальной вставки в дерево.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
WIPS |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
Да я тоже об этом думал. Но фрейм как-то громоздко ![]()
Цель - мировое господство ![]()
Хм... а что же тогда происходит? Поподробнее пожаста, если Вас не затруднит.
А в какой момент происходит "реальная" вставка. На element.show()? Тоже хотелось бы поподробнее. Это сообщение отредактировал(а) WIPS - 15.6.2009, 21:25 --------------------
Автопроизводители, машины, марки, модели! |
||||||
|
|||||||
Astraller |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.8.2007 Где: $Украина[Кры м]->Феодосия Репутация: 2 Всего: 5 |
Как я понимаю, в момент appendChild'а ![]() -------------------- A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair |
|||
|
||||
ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||
|
|||||
youri |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 2 Всего: 16 |
с этой проблемой вроде разобрались, что еще не так?
можно, но не нужно а в чем же, как не в нем? Или ты предпочитаешь решать проблемы так, как в голову всбредет, а не выбирать лучший в данной ситуации (нормальный) подход? |
||||
|
|||||
WIPS |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
интересно как это Вы разбираетесь с одинаковыми id?
я сам решу нужно ли мне создавать альтернативный документ, а вот если Вы знаете как это сделать, то милости прошу - поведайте я предпочитаю решать проблему оптимальным способом, и если бы Вы были внимательнее, то увидели бы выше, что проблема уже решена, или словосочетание "академический интерес" Вам не понятно? Судя по эксперименту ksnk так и есть. ksnk, спасибо Вам за точный пример по теме! Но повторюсь, что чисто в образовательных целях было бы интересно, можно ли как-то сделать операцию аналогичную такой:
Это сообщение отредактировал(а) WIPS - 16.6.2009, 10:07 --------------------
Автопроизводители, машины, марки, модели! |
||||
|
|||||
Astraller |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.8.2007 Где: $Украина[Кры м]->Феодосия Репутация: 2 Всего: 5 |
А в чем проблема то:
-------------------- A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair |
||||
|
|||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |