• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Добавление и удаление объектов Dom

  • Автор темы Programmer_Hard
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

Programmer_Hard

Боди:
Код:
<body>
<div id="contener">
</div>

<div style="width:200px; height:398px;border:#666666 thick; position:absolute; left: 639px; top: 10px;">
<div id="add_element_image">
Image insert
</div>	 
</div>
</body>

Я хочу вставлять в блок contener блоки с различным содержимым. Использую функцию $('#contener').append('<div id="image"> <img id="resizebleImage" src="image.jpg"></div>'), все вставляется как надо, но после этого я не могу использовать эти созданные объекты, т.е код:
Код:
	$("#image #resizebleImage").click(function(){
alert("fhfgyu");
});
уже не срабатывает.
Может както по другому надо юзать эту функцию? Может у кого есть готовый пример
 
V

vital

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">оффтоп</div></div><div class="sp-body"><div class="sp-content">
Код:
 $("#image #resizebleImage").click(function(){
alert("fhfgyu");

jquery попахивает=)


Хм, может просто - $("#resizebleImage").click(function(){
alert("fhfgyu");
ПС. Предположение наугад..
 
P

Programmer_Hard

Хм, может просто - $("#resizebleImage").click(function(){
alert("fhfgyu");

Да не, селектор тут правильно указан, мне кажется дело тут в том что вставив штмл код функцией append('<div id="image"> ...... </div>) не воспринимается как новые элементы DOM, я не могу манипулировать вставленным див-блоком, те методы jquery описанные для $("#image") не действуют на созданный объект. Такое ощущение, что нужно както явно всюнуть элементы в DOM модель, может тут нужно createElement?
 
V

vital

может тут нужно createElement?
Может и нужно. Попробуйте=)
И еще мысли. т.к. append() добавляет элементы к указанному, то может что бы обратится к динамически созданным нужно начинать с того, который был изначальным? т.е в духе - $("#contener #image #resizebleImage")
пс.
Снова наугад=)
 
P

Programmer_Hard

Оказывается я неправильно задал вопрос, я не написал, что вызываю метод append внутри обработчика события click() :
Код:
$(document).ready(function() {	 								
$("#add_element_image").click(function(){ 
$('#contener').append($('<div id="image"> <img id="resizebleImage" src="pyatnitso_112.jpg" width="200px"height="205px">	</div>'));	
});				 
$("#image").click(function(){
alert("fhfgyu");
}); 	
});

Если же я сделаю без него:

Код:
$(document).ready(function() {	 								
$('#contener').append($('<div id="image"> <img id="resizebleImage" src="pyatnitso_112.jpg" width="200px"height="205px">	</div>'));					 
$("#image").click(function(){
alert("fhfgyu");
}); 	
});
, то я могу манипулировать созданным дивом как хочу. А если внутри ckick, то нет((. Чегото в коде не хватает
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!