jquery - 发布成功后更改 Font Awesome 图标颜色

标签 jquery css

我想将 fa heart 的图标颜色更改为红色或绿色,如下所示 我尝试使用以下内容,但它仍然在屏幕上保持绿色,如果我尝试正确的方法,请问大家有什么想法吗。

不受欢迎的绿色:007c7a
最喜欢的粉红色:f7296a

$(".btnRemoveFave").find('.fa-heart').css('color', '#007c7a');

<script>
            $(document).ready(function () {
                $(".btnAddFave").click(function () {
                      var productId = $(this).data("product-id");
                     $.ajax({
                        type: "POST",
                        url: "/dynamic/Favourite.aspx/AddToFavourites",
                        data: JSON.stringify({ 'productId': productId }),
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        error: function (xhr, status, error) {
                            alert(xhr.status);
                            alert(xhr.responseText);
                        },
                        success: function (response) {
                            $(".btnAddFave").find('.fa-heart').css('color', '#f7296a');

                            alert(response.d);
                        },
                        failure: function (response) {
                            alert(response.d);
                        }
                    });
                });

            });
        </script>


<script>  

            $(document).ready(function () {
                $(".btnRemoveFave").click(function () {
                    var productId = $(this).data("product-id");
                    var customerId = $(this).data("customer-id");
                       $.ajax({
                        type: "POST",
                        url: "/dynamic/Favourite.aspx/RemoveFavouriteByCustId",
                        data: JSON.stringify({ 'custId': customerId, 'productCode': productId }),
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        error: function (xhr, status, error) {
                            alert(xhr.status);
                            alert(xhr.responseText);
                        },
                        success: function (response) {
                            $(".btnRemoveFave").find('.fa-heart').css('color', '#007c7a');

                            alert(response.d);
                        },
                        failure: function (response) {
                            alert(response.d);
                        }
                    });
                });

            });
        </script>

最佳答案

FontAwesome 使用 :before 伪元素来创建图标,您不能选择伪元素 - 它们不是 DOM 的一部分。

另一种方法是为“最喜欢的”样式创建一个类,然后添加该类...

$(".btnRemoveFave").find('.fa-heart').addClass('faved');

关于jquery - 发布成功后更改 Font Awesome 图标颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45939728/

相关文章:

php - 自动更新列表滚动

css - 为什么我不能为我的 React 服务器端渲染应用程序导入 CSS 文件?

css - 我的搜索在主页上有效,但在其他页面上无效

javascript - 从ajax加载页面时如何避免js函数被覆盖。

jquery - 如何使用datetimepicker在jquery中设置am/pm格式

javascript - jQuery:确定用户何时完成更改文本

iphone - iphone 上的 iscroll : visual distortions. 我怀疑它与硬件有关?

java - Bootstrap twitter 无法正确看到示例 "sign-in"

html - CSS 垂直对齐 - 再一次

jquery - 修复两侧li和虚线自动调整的最小和最大宽度