Доступ к элементам AJAXed через jQuery и изменение их родителя - PullRequest
0 голосов
/ 16 июля 2009

Я пытаюсь получить ajaxed контент, чтобы изменить своего родителя. Как я могу сделать это с JQuery, Я не могу понять синтаксис правильно.

    <div id="menu">
    <a href="#" id="show_names">Show Names</a>
</div>

<!-- AJAXED CONTENT -->
<div id="content">
    <a href="#" id="person">Janice</a>
    <a href="#" id="person">Steve</a>
</div>
<!-- AJAXED CONTENT (END) -->

При нажатии «Показать имена» отображаются имена «Дженис» и «Стив». Что я хочу сделать может быть в состоянии щелкнуть любой из двух и заставить их изменить контекст своего родителя. * Т.е. 1004 *

$("#content).empty().text('Janice was born on 3rd September');

Как это возможно с jQuery? Я пробовал Livequery, но это не то, что я хотел.

Ответы [ 2 ]

1 голос
/ 17 июля 2009
$("#content a").click(function() {
  $("#content").html($(this).html() + ' was born on 3rd September');
});

Я думаю, что это может быть то, что вы хотите.

EDIT: Я только что наткнулся на функцию live , которая работает для будущих объектов, которые могли быть в AJAXed.

0 голосов
/ 17 июля 2009

как выглядит ваш обработчик кликов? Я знаю, что иногда вы должны использовать $ .bind вместо $ .click при работе с внедренным контентом. Кроме того, идентификаторы ваших якорей одинаковы. Попробуйте вместо этого использовать класс или имя.

Так что вы можете сделать что-то вроде этого:

$("#menu").click(function() { $("#content").show();});
$(".person").click(function() { $(this).parent("div").html('janice was born...');});

если это не сработает, попробуйте заменить .click () на .bind ("click", function () ...)

...