использовать JQuery на DOM, который был добавлен с JQuery? - PullRequest
0 голосов
/ 04 декабря 2009

здесь дело. с помощью вызова jquery ajax я добавил новую ссылку

и я хочу использовать jquery для этой недавно добавленной ссылки:

    $(document).ready(function(){

    $.post("static/js/jquery_call.php", function(data){
        $("#div_id").html(data);
    });

    $("#new_link").click(function(){

    ..... (and so on)

но это не позволяет мне, потому что эта ссылка была добавлена ​​после генерации DOM. Я могу манипулировать всеми другими ссылками, но не новой добавленной. Как я могу решить это?

Ответы [ 3 ]

1 голос
/ 04 декабря 2009

Ваш обработчик function(data) вызывается, когда запрос ajax завершен (все данные присутствуют). Тем временем выполнение сценария продолжается. Это означает, что ваш $("#new_link")... код, скорее всего, выполняется до того, как данные были добавлены в dom.
Либо используйте живой обработчик , либо хотя бы переместите свой код $ ("# new_link") в обработчик функции (data) {}.

редактировать: пример кода

$(document).ready( function(){
  $.post("static/js/jquery_call.php", function(data){
    $("#div_id").html(data).find("#new_link").click( function() {
      alert("Test");
    });
  });
});
1 голос
/ 04 декабря 2009

этот вопрос задают через день. мальчик, я доился от этого

$("#new_link").live('click',function(){});
0 голосов
/ 04 декабря 2009

Используйте функцию .live() ( документ здесь ) для привязки к существующим и вновь созданным элементам:

$("#new_link").live("click", function(){
  // your code here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...