[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: виртуальный DOM
bodja
В общем постараюсь обьяснить понятно,
если что не понятно спрашивайте,я уточню.

В общем нужно загружать через аякс полностью всю хтмл страницу ,так как мы все получаем в качестве текста,вот из него нужно сделать виртуальное ДОМ дерево ,поработать с ним как с ДОМ ,выбрать изменить и только после того загрузить на страницу.

Пробовал по разному,но как назначить нормальный тип переменной так и не понял.
Тоесть типа
var p;
p.innerHTML='<html><head></head><body>content</body></html>';


не проходит,попытка сделать обьект тоже.
Есть положительные намеки на
var p=document.createElement('траляля');
p.innerHTML='<html><head></head><body>content</body></html>';

но хотелось бы без "траляля" ,а чистая копия документа.
Порылся я в справочнике,что то я толком так и вкурил как это можно сделать.
Как открыть элемент ясно,но как открыть документ и потом работать с ним как с ДОМ так и не понял.
Короче ПАМАГИТЕ нубу :)



Спустя 10 минут, 43 секунды (28.03.2012 - 20:55) Игорь_Vasinsky написал(а):
я так понял речь о динамически сформированном DOM, которого при по факту нет.

меня всё время спасал JQuery.Listen, но потом обновили JQ и там появилась live()

как на чистом JS такое побороть - загадка.

Спустя 6 минут, 15 секунд (28.03.2012 - 21:01) redreem написал(а):
попробуй во фрейм (или iframe) прогрузить, в нем поработать и выгрузить.

var p=document.createElement('frame');
p.innerHTML='<html><head></head><body>content</body></html>';


будет самый натуральный дом

Спустя 2 минуты, 39 секунд (28.03.2012 - 21:04) sharki написал(а):
Игорь_Vasinsky
live() работает только после того как в дом добавлены новые эл-ты.


bodja
Если хочешь работать как с ДОМ, но при этом не загружая его в ДОМ, то тебе понадобиться писать кучу регулярок, дешевле выйдет просто заныкать этот самый кусок кода в невидимый див, и там уже с ним поработать.
Ну или установить NODE.js и там уже загрузить вертуальный дом, и в него поместить строку, и обработать как надо. Где-то слышал что еще и на PHP можно сделать это, но по моему там он сразу выполняет код.


ну или как предложил redreem

Спустя 12 минут, 8 секунд (28.03.2012 - 21:16) bodja написал(а):
sharki
Вот как раз виртуальный ДОМ мне нужен ,что бы не было регулярок.
На регулярках сделал выделение содержимого <body> ,на этом мое терпение закончилось. biggrin.gif

redreem
Спасибо ,хорошая идея,про фраме я неподумал.
Вообще меня смущало ,то что я не могу создать пустой документ из за того ,что я плохо искал нужную функцию,похоже опять обойдем гору как настоящие герои. biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.