jQuery: загрузка внешнего HTML-контента; Доступ к вставленным элементам невозможен - PullRequest
4 голосов
/ 16 ноября 2010

Я хотел бы загрузить элемент table из другого HTML (Additional_content.html) в текущий HTML через jQuery. Мне удалось загрузить контент, но я не могу получить доступ к вставленным элементам, как будто они не были вставлены. Однако при вставке оператора alert сразу после оператора load я могу получить доступ к элементам таблицы , вставленной через load, Мне кажется, что дерево DOM обновляется не сразу.

Фрагмент кода в родительском документе выглядит следующим образом:

<div id="content"></div>
<script>
  $("#content").load("additonal_content.html #content table").hide();
  $("#content").find("img").each(function() {
    alert("test");
  });
</script>

А таблица в * Additional_content.html "(выдержка):

<table>
  <tr>
    <td><img src="image1.gif"></td>
    <td>some text...</td>
  </tr>
  <tr>
    <td><img src="image2.gif"></td>
    <td>some text...</td>
  </tr>
</table>

1 Ответ

8 голосов
/ 16 ноября 2010

Похоже, что содержимое еще не загружено, когда оно попадает в оператор 'find'.

Попробуйте использовать обратный вызов, например: 1003 *

<script>
$("#content").load("additonal_content.html #content table",function(){
 $("#content").find("img").each(function() {
    alert("test");
 });
});
 </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...