Синхронизация JQuery извлечения из DOM - PullRequest
0 голосов
/ 26 августа 2011

У меня есть персональная настройка сценариев.Что я делаю, так это записываю несколько файлов javascript в папку, затем сценарий заботится о соединении их всех и минимизации.

В двух разных файлах у меня есть это:

ФАЙЛ 1:

...document ready...
$(this).attr('id', 'foo');
...

ФАЙЛ 2:

...document ready...
$('#foo').append('<span>bar</span>');
...

Проблема в том, чтокогда он пытается извлечь элемент #foo, он ничего не находит, скорее всего, потому, что он еще не создан.Есть ли способ синхронизировать этот процесс, чтобы он следовал более правильному порядку?(Сначала создайте, затем добавьте)

Спасибо!

1 Ответ

1 голос
/ 26 августа 2011

Событие «готов к документу» не может гарантировать, в каком порядке вызываются ваши функции.Я думаю, что было бы лучше, если бы вы не использовали событие «готовность документа» для функции в файле 2.

Примерно так должно работать:

Файл 2:

...on load of page/element...
'parent of foo'.bind('foo_inserted', 
                      function() { $('#foo').append('<span>bar</span>'); });

Файл 1:

...document ready...
'parent of foo'.attr('id', 'foo');
'parent of foo'.trigger('foo_inserted');

Подробнее см., Например, эту страницу или документацию jQuery .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...