jQuery代码不适用于使用“之后”创建的新标签

时间:2019-05-11 02:27:41

标签: javascript jquery html

我正在使用“之后”方法向页面添加新元素 当我点击<i>中的<label>时 它将做toggleClass的事情 但是当我在jQuery中使用<label>添加新的after时 新的<label>将不会切换类 有解决方案吗?

这是我的代码:

$(document).ready(function () {

    $(".wrapper form label i").click(function () {
        $(this).parent("label").toggleClass("activeLabel");
});
    $(".hamMenu").click(function () {
        $(".fixMenu").toggleClass("fixMenuActive");
    });
    $(".fixMenuItems ul li").click(function () {
        $(this).toggleClass("fixMenuItemActive");
        $(this).siblings(".fixMenuItems ul li").removeClass("fixMenuItemActive");
    });
    $(".addImg").click(function () {
        $("label:last").after("<label for=''>Photo<i class='fas fa-ellipsis-v'></i><input type='file'> </label>");
        $("label").not(":last").addClass("activeLabel");
    });
    $(".addTxt").click(function () {
        $("label:last").after("<label for=''>Text<i class='fas fa-ellipsis-v'></i><textarea cols='30' rows='10'></textarea> </label>");
    })

});

1 个答案:

答案 0 :(得分:1)

听父母的话:

$(".wrapper form").on("click", "label i", function () {
    $(this).parent("label").toggleClass("activeLabel");
});