jQuery后插入后隐藏显示不起作用

时间:2018-11-22 15:07:01

标签: javascript jquery html

我将一些行添加到表中,当我单击一行时,应打开不同的行,我正在使用slideToggle并隐藏显示,但它不起作用..单击确实起作用(我添加了控制台。日志以进行检查)-如果我在html内写行,它确实起作用。 这是功能:

$('#table').on('click','.good_light_tags_reg',function(){
    console.log("hey");
    if ($('.good_light_sub_tag_reg').is(":visible")){
        $('.good_light_sub_tag_reg').hide();
    }
    else{
        $('.good_light_sub_tag_reg').show();
    }
});

插入部分。

    var identified_correctly = {};
var rows = "";

for (var i=1 ; i<(table.rows.length -1) ; i++){
    if (table.rows[i].className.includes('_tags_reg')){
        if (table.rows[i].className != table.rows[i+1].className) {
             val = table.rows[i].cells[6].innerHTML;
             var pos = val.indexOf("<br>");
             var res = parseFloat(val.substring(0, pos));
             identified_correctly[table.rows[i].className]=parseFloat(res);

        }
    }
    }
var items = Object.keys(identified_correctly).map(function(key) {
return [key, identified_correctly[key]];
});
items.sort(function(first, second) {
return first[1] - second[1];
});

for (var i=0;i<items.length;i++){
    var class_name = items[i][0];

    var tags_rows = document.getElementsByClassName(class_name);

    var sub_tags_rows = document.getElementsByClassName(class_name.replace("_tags_","_sub_tag_"));
    for (var tag=0;tag<tags_rows.length;tag++){

        rows += tags_rows[tag].outerHTML;

        for (var sub_tag=0;sub_tag<sub_tags_rows;sub_tag++){
            rows += sub_tags_rows[sub_tag].outerHTML;

        }
    }
}
for (var i=0;i<items.length;i++){
    $("#table").find("."+items[i][0]).remove();
        $("#table").find("."+items[i][0].replace("_tags_","_sub_tag_")).remove();
    }
    $(rows).insertAfter($(".tag_list_reg").last()); 

1 个答案:

答案 0 :(得分:0)

使用$(document)尝试此操作

$(document).on('click','.good_light_tags_reg',function(){
    $('.good_light_sub_tag_reg').toggle();
});

并且如果要显示或隐藏的元素在新行内,请尝试

$(document).on('click','.good_light_tags_reg',function(){
    $(this).find('.good_light_sub_tag_reg').toggle();
});