У меня странная проблема, которая проявляется в Firefox (не проверялось, т. Е. И т. Д., Но, тем не менее, он нужен для работы в Firefox). Я использую Ajax для заполнения родительского div с div, содержащими информацию, возвращаемую из БД. На стороне сервера находится PHP с циклом while, который перебирает набор результатов и выводит каждый div.
Весь сценарий работает нормально и заполняет родительский div (#ID parent div = 'webses') различным количеством дочерних узлов, проблема у меня заключается в том, что когда я проверяю последний дочерний узел после получения нового набора из div через ajax lastChild сообщается как ранее заполненный lastChild.
Пример:
'# webses' имеет 4 childNodes (divs), последний childNode имеет идентификатор 'no4', затем я снова заполняю весь набор childNodes в #webses, добавив новый div с идентификатором 'no5', затем я запросю идентификатор последний потомок «немедленно» в конце функции, которая снова заполняет div, и lastChild возвращается как «no4». Затем я могу выполнить тот же запрос (когда функция будет завершена), чтобы проверить lastChild на #webses (через адресную строку браузера), и тогда вернется no5!
Вот пример кода, который демонстрирует проблему (используя предупреждение, чтобы показать значение идентификатора в lastChild):
function populateWebses() {
//populates parentNode DIV 'webses' with divs populated via AJAX
populateParentNodeViaAJAX();
alert(document.getElementById("webses").lastChild.id);
}
запрос на просмотр lastChild выполняется сразу после того, как DOM в «#webses» обновляется новыми childNodes, я думаю, это проблема, но почему?
Любая помощь высоко ценится.
Dan