Javascript 第二次单击时隐藏子div

Javascript 第二次单击时隐藏子div,javascript,jquery,Javascript,Jquery,我使用下面的脚本在后续单击时显示和隐藏细分曲面,但不知何故,它在第二次单击时不会隐藏细分曲面。 代码如下: <script> $.ajax({ $('#floatcategory').append("<div class='floatbutton' id='float_"+categories[k][0]+"'>" +categories[k][1]+"</div>"); $('#floatcategory').append("<div

我使用下面的脚本在后续单击时显示和隐藏细分曲面,但不知何故,它在第二次单击时不会隐藏细分曲面。 代码如下:

<script>
$.ajax({
   $('#floatcategory').append("<div class='floatbutton'
   id='float_"+categories[k][0]+"'>" +categories[k][1]+"</div>");
   $('#floatcategory').append("<div id='"+categories[k][0]+"_"+products[l][0]+"'>"
   +products[l][1]+"</div>");
});
 $('.floatbutton').live('click',function() {
    var floatidl=$(this).attr('id');
    var floatid=floatidl.substr(6);
    if ($('#'+floatidl'').hasClass("clicked-once")){
        $('[id^="'+floatid+'_"]').hide();
        $('#'+floatidl'').removeClass("clicked-once");
    }
    else {
        $('[id^="'+floatid+'_"]').show();
        $('#'+floatidl'').addClass("clicked-once");
    }
});
</script>

$.ajax({
$('#floatcategory')。追加(“+categories[k][1]+”);
$('#floatcategory')。追加(“”
+产品[l][1]+”);
});
$('.floatbutton').live('单击',函数()){
var floatidl=$(this.attr('id');
var floatid=floatidl.substr(6);
if($('#'+floatidl').hasClass(“单击一次”)){
$(“[id^=“”+floatid+”).hide();
$(“#”+floatidl”).removeClass(“单击一次”);
}
否则{
$(“[id^=“”+floatid+”).show();
$(“#”+floatidl”).addClass(“单击一次”);
}
});
我使用的是jQuery 1.6版。它不会隐藏div。有人能帮忙吗?

使用(对于较旧的jquery版本-

使用(对于新的jquery版本->=1.7):

希望这对您有所帮助:)

当您使用

$('.floatbutton').live('click',function() {
它只适用于未动态添加的div

您应该使用类似这样的方法来处理动态添加的对象:

$(document).ready(function () {
    $(document).on("click",".floatbutton",function(){

那么会发生什么?用户单击
.floatbutton
两次,然后单击一些div<代码>#floatidl?应该在第二次单击时隐藏?代码中带
#floatidl
的元素在哪里?是的,正是它应该做的。抱歉@Unknown,请看代码它是
$('#'+floatidl')
你想要这样的还是这样的?是的,这就是我犯错误的地方,太愚蠢了,非常感谢,兄弟:)@user3664667:很高兴这对兄弟有帮助:)你说得对,最好使用jquery和
$(文档)的更新版本。在('click',…
$(document).on('click','.floatbutton',function() {
            var floatidl=$(this).attr('id');
            var floatid=floatidl.substr(6);
            if ($('#'+floatid).hasClass("clicked-once")){
                $('[id^='+floatid+']').hide();
                $('#'+floatid).removeClass("clicked-once");
            }
            else {
                $('[id^='+floatid+']').show();
                $('#'+floatid).addClass("clicked-once");
            }   
        });
$('.floatbutton').live('click',function() {
$(document).ready(function () {
    $(document).on("click",".floatbutton",function(){