Как отследить появление элемента на странице?
Есть динамически подгружаемый контент, скажем div после того как он загрузился надо изменить его содержимое, если бы надо было навесить клики можно отслеживать event.target документа или использовать jQuery.live, а как быть в данном случае?
Самое простое что пришло в голову ))) добавляю картинку в конец дива и у неё в onload="foo(this.parentNode)", функция foo изменяет содержимое div и заодно удаляет картинку, хотя она практически и так не видна, используеться картинка минимального размера. Буду рад если кто предложит иное решение. |
Само на страницу ничего не добавляется. Там где вы обновляете этот кусок страницы, там и вызывайте нужные действия.
|
рони,
никогда не понимал такие вопроссы=) Сами по себе элементы не появятся же, ихнее появление в любом случае производит какой-то код, так поменяйте его так что бы при появлении чего-то выполнялись необходимые вам задачи. |
Если я правильно понял:
<script type="text/javascript"> window.onload = function(){ var element = document.getElementsByTagName('div')[0]; element.appendChild(document.createElement('p')); //добавляем новый элемент P в DIV var children = element.childNodes, i = children.length; if(element.hasChildNodes()){ //проверяем дочернии элементы DIV while(i--){ alert(children[i].tagName); } } while(element.firstChild){ //удаляем дочернии элемент P element.removeChild(element.firstChild); alert(document.getElementsByTagName('p')[0]); } }; </script> <div></div> |
Спасибо всем ответившим ....
|
по сути нмкто не ответил. Для тех, кто говорит что задача не имеет смысла, приведу пример задачи, с которой столкнуляся лично я.
Нужно добавть атрибут on click на элемент, появляющийся в модальном окне с неизвесьной задержкой без достпа к исходному коду при помощи дополнительного js и при этом добавить в атрибут еще и переменную get , что возводит задачу в новую степень. Скажу сразу, что jq delay уже пробовал, не спасает. Так что вместо того, чтобы говорить о бесполезности вопроса, лучше реально бы разобрались в задаче. |
Нет тут абсолютно никакой проблемы. Библиотеки для работы с ajax обычно имеют возможность простановки колбэка на загрузку - ставим и радуемся.
|
и всегда можно запустить таймер. проверяя есть ли элемент (загружен ли он)
:) |
Зачем использовать такое некрасивое решение, как таймеры, когда XMLHttpRequest предоставляет возможность простановки коллбеков?)
|
Цитата:
Далее по таймеру можно и подгружать контент(отложенная загрузка) И с чего вы взяли XMLHttpRequest, где он в этой теме упоминается. Выдумываете себе новые задачи? Или считаете его единственным методом подгрузки контента |
Часовой пояс GMT +3, время: 10:20. |