在点击链接后,我使用<div>
函数填充html()
。基本上,我不希望页面刷新,而是将内容放入<div>
。
工作正常。但是,我正在传递一个链接到<div>
,并尝试选择它!它实际上将我带到了另一个页面,而不是按照我的预期填充下一个<div>
。
<script type="text/javascript">
$(document).ready(function() {
$(".link1").click(function(){ $("#div1").html("<a href='#' class='link2'>click here</a>"); return false; });
$(".link2").click(function(){ $("#div2").html("Just Text"); return false; });
});
</script>
<div id="div1"></div>
<div id="div2"></div>
答案 0 :(得分:2)
您可能想要使用live()
:
$(function() {
$("a.ink1").live("click", function() {
$("#div1").html("<a href='#' class='link2'>Click here</a>');
return false;
});
$("a.link2").live("click", function() {
$("#div2").html("Just text");
return false;
});
});
原因是,当您使用click()绑定事件时,它会对当时存在的元素而不是您稍后创建的元素进行绑定。这就是live()
的用途。
答案 1 :(得分:0)
怎么样:
<script type="text/javascript">
$(document).ready(function() {
$(".link1").click(function(){ $("#div1").html("<a href='#' class='link2'>click here</a>"); renderlink2(); return false; });
renderlink2();
});
function renderlink2(){
$(".link2").click(function(){ $("#div2").html("Just Text"); return false; });
}
</script>
<div id="div1"></div>
<div id="div2"></div>