Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > jquery вставка кода через html() и рабата с ним


Автор: neoks 20.9.2010, 15:43
Есть код который вставляет html код в див.

Код

<div id="result"></div>
<a href="#" id="is_01">Подробно</a>


Код

$("#is_01").click(function(){
      $('#result').html('read <a href="url">more</a>');
});

$("a").click(function(){
      .......
});



При клики на ссылку ( Подробно ) срабатывае функция и вставляет код в див с id [ result ].
Все бы не чиго но при клики на ссылку more функция click не срабатывает, как я поня не видет кода которого я вставил.

Как это исправить? help smile 

Автор: iluvatar 20.9.2010, 16:19
Все вполне логично.
Когда вы объявляете событие
Код

$("a").click(function(){
      .......
});

то вы всем существующим ссылкам присваиваете событие click.

Но в этот момент html-кода
Код

read <a href="url">more</a>

еще нет в документе. 

Для того, чтобы работало надо навесить событие именно на вашу добавленную ссылку:
Код

$("#is_01").click(function(){
      $('#result').html('read <a id="hrefMoreId" href="url">more</a>');
      $('#hrefMoreId').click(function(){
          .......
      });
});

обратившись по какому-либо селектору (в моем варианте - id). Можно также использовать класс, или, если у вас строгая структура html вот так:
Код

$('#is_01 a').click(function(){
    .......
});

Автор: neoks 20.9.2010, 16:35
Спасибо! Все работает. smile 

Автор: iluvatar 20.9.2010, 16:45
Пометьте тему как решеную. Делается в опциях темы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)