Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法完全运行更改div内容的jQuery脚本_Javascript_Jquery_Html - Fatal编程技术网

Javascript 无法完全运行更改div内容的jQuery脚本

Javascript 无法完全运行更改div内容的jQuery脚本,javascript,jquery,html,Javascript,Jquery,Html,所以我的问题是: 当我点击“Rejestracja”链接时,它会改变div的内容,但在此之后,当我尝试点击“logowanie”链接时,什么都不重要,我不知道为什么有人能帮我?所有包含Rejestracja和logowanie内容的div都在html下显示:none atribute JS在此: <script> $(document).ready(function(){ $('#change').click(function(){

所以我的问题是:

当我点击“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>

$(文档).ready(函数(){
$(“#更改”)。单击(函数(){
var$which=$(this.html();
var$wyjmij=$('#'+$which).html();
$('#loginbox').html($wyjmij);
});
});

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

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

您可以使用
on()

检查中有关直接和委派事件的部分

将代码更改为以下内容:

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

-通过绑定到
#loginbox
targeting
#change
ID使用动态绑定必须是唯一的,jQuery只选择具有特定ID的第一个元素。