没有完全工作的jQuery脚本改变div内容

时间:2012-12-05 13:57:59

标签: javascript jquery html

所以我的问题在这里: http://jsfiddle.net/hskhu/

当我点击“Rejestracja”链接时,它会更改div的内容,但在此之后,当我尝试点击“logowanie”链接时没什么关系,我不知道为什么有人可以帮助我?所有包含Rejestracja和logowanie内容的div都在html下显示:none atribute

JS在这里:

<script>
    $(document).ready(function(){
        $('#change').click(function(){
            var $which = $(this).html();
            var $wyjmij = $('#' + $which).html();
            $('#loginbox').html($wyjmij);
        });
    });
</script>

1 个答案:

答案 0 :(得分:2)

您正在将事件绑定到ID为#change的元素。您在单击链接时替换元素,这意味着当前绑定事件没有有效目标。

您需要将事件绑定到更接近的静态元素,并将事件委托给#change

您可以使用on()执行此操作 请查看on() documentation。{/ p>中Direct and delegated events部分

将您的代码更改为以下内容:

$(document).ready(function(){
    $("#loginbox").on("click", "#change", function(){
        var $which = $(this).html();
        var $wyjmij = $('#' + $which).html();
        $('#loginbox').html($wyjmij);
    });
}); 

DEMO - 通过绑定#loginbox定位#change

来使用动态绑定