javascript - 更改附加按钮的属性

标签 javascript jquery css

我有一个按钮,它是在 ajax 调用成功后由 jquery 创建的。 我也想通过 jquery 更改它的背景颜色,但它根本不起作用。 有趣的是,我尝试在脚本之外的 html 区域中添加完全相同的按钮,但效果很好。如何处理?

<script>
$(".submitInput1").click(function() {

    event.preventDefault();
    $(".toBanList").html("");

    $.ajax({
        type: "GET"
        url: "/searchFriendsToBlock",
        dataType: "json",
        data: {

        },
        success: function(msg) {
            for (var i = 0; i <= msg.length; i++) {
                $(".banSearchResultList").append("<li class='toBanList'><img class='avatarImage' src='" + msg[i]['avatar'] + "'>" + msg[i]['login'] + "<br>" + msg[i]['first_name'] + " " + msg[i]['last_name'] +
                    "<button class='blockButton2' style='background-color:blue'>Block user</button>\n\
                       <button class='blockButton1' style='background-color:blue'>Block chat</button></li>");
            }
        }

    });

});
</script>


<script>
$(".blockButton1").click(function() {
    $(".blockButton1").css("background-color", "red");
    $(".blockButton1").attr("background-color", "red");

})
</script>

最佳答案

我认为问题在于,当您注册处理程序时,click() 仅适用于 DOM 中存在的元素。尝试使用 on() 代替:http://api.jquery.com/on/

在你的例子中:

$(".banSearchResultList").on('click','.blockButton1',function() {
    $(this).css("background-color", "red");
});

关于javascript - 更改附加按钮的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988903/

相关文章:

jquery - 如何根据内部文本末尾的数字对列表项进行排序?

javascript - 根据滚动位置设置 div 宽度

javascript - 使用带有 Angular/ ionic 的 Cordova 谷歌地图插件

javascript - Vue循环嵌套JSON麻烦

javascript - react-rte 给出 TypeError : r. getEditorState is not a function in next js

css - 带 overflow-y 滚动的 div 的 Bootstrap 导致网站的水平滚动

css - 在 SASS 和 Compass 中需要特定的 gem 版本

javascript - Jquery 第一个单词大写字母

javascript - 从 .attr 获取变量名

具有分组汇总功能的 jQuery 表插件