#javascript-events #jquery
#jquery #jquery-события
Вопрос:
У меня есть div, который создается динамически, и я хочу добавить в него некоторые элементы при его загрузке. jQuery .load()
и .live()
мне не помогло.
$('div#mydiv').load(function(){
$(this).html('loaded!');
});
Комментарии:
1. где создается div? Разве вы не можете добавить
.html()
туда?2. Я справляюсь с этим. Спасибо, Мануэль. Я пошел слишком сложным путем.
Ответ №1:
Вы должны создать событие для щелчка в разделе ready:
$('input').live( 'click', function(){
alert("!");
});
Ответ №2:
Очень сложно понять, в чем проблема, без дополнительного контекста. Если вы можете, опубликуйте более полный фрагмент того, что вы пытаетесь сделать.
Из того, что вы опубликовали до сих пор, я полагаю, что #myDiv
div отсутствует в исходном HTML страницы. Итак, я вижу две возможности:
- У вас есть какой-то другой JS, который создает элемент (например.
$('#foo').append('<div id="myDiv"></div>')
. Тогда элемент будет доступен и «там», как только ваш код добавит его к какому-либо элементу на странице. Итак, в этом случае, предполагая, что элемент#foo
уже находится в DOM, вы можете сделать что-то вроде$('#myDiv').text('Loaded!')
в следующей строке. - Вы загружаете элемент как часть вызова AJAX (т.Е. По сети). Если вы используете
.load
with element ($('#foo').load('/someurl')
), вы можете добавить другой параметр с функцией обратного вызова, которая будет вызвана после загрузки содержимого. Если вы используете$.ajax
or его сокращенных друзей ($.get
,$.post
, и т.д.) и динамически добавляете / создаете контент из егоsuccess
complete
обратных вызовов or, см. Предыдущий пункт.
Надеюсь, это поможет. Без дополнительного контекста трудно дать более конкретный ответ на ваш вопрос, извините!
Ответ №3:
Попробуйте загрузить внешний файл, а затем вставить свой код в обратный вызов:
$('#mydiv').load('myfolder/myfile.html', function() {
$('#mynewdiv').html('loaded');
});
Если все остальное не удается, попробуйте использовать $.Ajax для загрузки файла и полный обработчик для вставки вашего содержимого.