как добавить контент в элементы, созданные после загрузки страницы - PullRequest
0 голосов
/ 18 октября 2011

У меня есть div, который создается динамически, и я хочу добавить некоторые элементы в него, когда он загружен.jQuery .load () и .live () мне не помогли.

$('div#mydiv').load(function(){
   $(this).html('loaded!');
});

Ответы [ 3 ]

0 голосов
/ 18 октября 2011

Очень трудно понять, в чем проблема, без дополнительного контекста. Если можете, опубликуйте более полный фрагмент того, что вы пытаетесь сделать.

Из того, что вы уже опубликовали, я понимаю, что #myDiv div отсутствует в исходном HTML страницы. Итак, я вижу две возможности:

  • У вас есть какой-то другой JS, который создает элемент (например, $('#foo').append('<div id="myDiv"></div>'). Тогда элемент будет доступен и «там», как только ваш код добавит его к какому-либо элементу на странице. Так что в этом случае предполагается, что элемент #foo уже находится в DOM, вы можете сделать что-то вроде $('#myDiv').text('Loaded!') на следующей строке.
  • Вы загружаете элемент как часть вызова AJAX (то есть по сети). Если вы используете .load с элементом ($('#foo').load('/someurl')), вы можете добавить еще один параметр с функцией обратного вызова, которая будет вызываться после загрузки содержимого. Если вы используете $.ajax или его сокращенных друзей ($.get, $.post и т. Д.) И динамически добавляете / создаете контент из своих обратных вызовов success или complete, см. предыдущий пункт.

Надеюсь, это поможет. Без контекста сложно дать более конкретный ответ на ваш вопрос, извините!

0 голосов
/ 18 октября 2011

Попробуйте загрузить внешний файл и затем вставить свой код в обратный вызов:

$('#mydiv').load('myfolder/myfile.html', function() {
    $('#mynewdiv').html('loaded');
});

Если ничего не помогло, попробуйте использовать $ .Ajax для загрузки файла и полный обработчик для вставки вашего контента.

0 голосов
/ 18 октября 2011

Вы должны сделать событие для клика в готовом разделе:

$('input').live( 'click', function(){
        alert("!");
   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...