Как получить доступ к динамически созданному списку в jquery? - PullRequest
1 голос
/ 18 марта 2010

У меня есть неупорядоченный список ссылок, которые динамически создаются Ajax, и для каждой ссылки я хочу добавить к ней функцию щелчка, но она не будет работать, пожалуйста, помогите!

вот мой код:

HTML

<div id="sidebar">
  <li>
      <h2> list </h2>
      <ul id="list"></ul>
  </li>
</div>

JS :

//to create links
var str = '';
$.each(json.opts, function(i, opt) {
  var id = opt + '-list';
  str += '<li><a href="#" id='+ id +'>' + opt + '</a></li>';   //link
}
$("#list").html(str);

...
//to add click function to each links, this won't work
$("#list li").each(function (i) {
   alert(i + " : " + $(this).text());
});

Ответы [ 3 ]

1 голос
/ 18 марта 2010

Должно быть .click() вместо .each():

$("#list li").click(function (i) {
   alert(i + " : " + $(this).text());
});

И если вы вызываете эту функцию, элементы уже должны быть вставлены. В противном случае вы должны использовать .live():

$("#list li").live('click', function (i) {
   alert(i + " : " + $(this).text());
});
0 голосов
/ 08 июня 2010

Я боролся с этим весь день!

.live () - это то, что мне нужно.

Я динамически создавал ссылки на номера слайдов, которые не отвечали на .click ()

0 голосов
/ 18 марта 2010

может быть, вам нужно .live ()

Описание: Присоединить обработчик к событию для всех элементов, которые соответствуют текущему селектору, сейчас или в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...