我正在做一个填充在我的html页面上的ajax请求。我在ajax响应页面上有一个锚标记。我想通过它的id访问html锚标签并显示一个alery。
我的代码是:
<div id="response">
</div>
$.post("destination.php",function(data){
$("#response").html(data);
});
ajax查询后的页面是:
<div id="response">
<a href="some_link.php" id="link_test">Click Me</a>
</div>
现在我想使用jQuery访问这些数据:
$("#link_test").on('click',function(){
alert("You Clicked Me");
});
但我无法在我的页面上执行此操作,因为它是ajax请求,并且在ajax请求之后不会刷新ID。所以浏览器无法识别id,这样做代码确实没用。
请帮帮我。
答案 0 :(得分:1)
活动授权:
$("#reponse").on("click", "#link_test", function(){
答案 1 :(得分:1)
您可以使用事件委派这意味着您必须将事件侦听器附加到这些按钮的第一个共同祖先。
当许多元素必须触发相同的例程时,这是一个很好的选择,如果它们中的一些可以通过AJAX添加到未来的DOM中(这使页面不会附加到许多事件处理程序)
委托语法
// Event delegation
$( "#firstCommonAncestorThatStillInThePage").on("click", 'a', function() {
if($(this).is('#link_test')){
alert( $( this ).text() );
}
});
答案 2 :(得分:0)
这应该适合你:
$('#response').on('click', "#link_test", function(){
alert("You Clicked Me");
});