Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с HTML до его вставки в дерево DOM, пришел HTML аяксом, обраб. "до" вставки 
V
    Опции темы
ksnk
Дата 16.6.2009, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Astraller, а если вставлено ветвистое дерево?  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Astraller
Дата 16.6.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



Цитата(ksnk @  16.6.2009,  10:34 Найти цитируемый пост)
а если вставлено ветвистое дерево? 

Ваша правда, не учел:
Код

function getChildById(id){
  for(i=0;this.childNodes[i];i++){
    if (this.childNodes[i].getAttribute('id') == id){
      return this.childNodes[i];
    }
    if(this.childNodes[i].childNodes.length > 0){
      if (this.childNodes[i].getChildById(id) != false){
        return this.childNodes[i].getChildById(id);
      }
    }
  }
  return false;
}



--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
WIPS
Дата 16.6.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 22.5.2006
Где: Украина, Киев

Репутация: 2
Всего: 8



Эх, не успел... у меня такое вышло: 
Код

<html>
    <body>
        <script>
            Object.prototype.getChildById = function (id) {
                if ((this.getAttribute && this.getAttribute('id') == id) || (this.id && this.id == id)) {
                    return this;
                } else {
                    for (i = 0; this.childNodes[i]; i++) {
                        var obj = this.childNodes[i].getChildById(id);
                        if (obj) {
                            return obj;
                        }
                    }
                    return false;
                }
            }

            var el = document.createElement('div');
            el.innerHTML = '<div id="xxx">Hello! <span id="yyy">world</span></div>';

            alert(el.getChildById('yyy'));
        </script>
    </body>
</html>

вобщем я добавил функу в прототип, чтобы работало "нативнее".

Вот так ненавящиво мы и подошли к решению вопроса. Таки можно по дереву побегать не вставляя его в основное дерево документа. Всем спасибо.

Это сообщение отредактировал(а) WIPS - 16.6.2009, 11:07
--------------------
Автопроизводители, машины, марки, модели!
PM MAIL WWW ICQ Skype   Вверх
Astraller
Дата 16.6.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



Цитата(WIPS @  16.6.2009,  10:58 Найти цитируемый пост)
у меня такое вышло 

id лучше получать по getAttribute ибо до вставки в DOM приколы могут быть самые разные  smile 


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
WIPS
Дата 16.6.2009, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 22.5.2006
Где: Украина, Киев

Репутация: 2
Всего: 8



Цитата(Astraller @  16.6.2009,  10:02 Найти цитируемый пост)
id лучше получать по getAttribute ибо до вставки в DOM приколы могут быть самые разные

согласен, исправил
--------------------
Автопроизводители, машины, марки, модели!
PM MAIL WWW ICQ Skype   Вверх
youri
Дата 16.6.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 2
Всего: 16



Цитата(WIPS @  16.6.2009,  10:00 Найти цитируемый пост)
с этой проблемой вроде разобрались, что еще не так?

интересно как это Вы разбираетесь с одинаковыми id?

я с ней не разбирась, вы с ней разобрались, благодаря ksnk

Цитата(WIPS @  16.6.2009,  10:00 Найти цитируемый пост)
я сам решу нужно ли мне создавать альтернативный документ, а вот если Вы знаете как это сделать, то милости прошу - поведайте

ну раз сами решите, то сами и решайте, как это сделать ;)

Цитата(WIPS @  16.6.2009,  10:00 Найти цитируемый пост)
я предпочитаю решать проблему оптимальным способом, и если бы Вы были внимательнее, то увидели бы выше, что проблема уже решена, или словосочетание "академический интерес" Вам не понятно?

какая разница: есть/была проблема, но нету контекста.  Или вы решаете проблемы универсально, вне зависимости от контекста?
PM   Вверх
WIPS
Дата 16.6.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 22.5.2006
Где: Украина, Киев

Репутация: 2
Всего: 8



youri, спасибо за Ваше мнение, оно очень важно для нас ;) Тема закрыта.
--------------------
Автопроизводители, машины, марки, модели!
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0785 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.