jQuery,隐藏一个前面的元素

时间:2018-04-29 14:09:37

标签: jquery css

ADD TO BAG按钮将其文本更改为ADDED + icon:点击{content:'\ 2713';}之前。

然后在4秒后将文本恢复为ADD TO BAG,我的意思是从添加到再次添加到包。

ADD TO BAG普通按钮文字没有图标,添加的文字有图标。

问题:一旦文本更改为ADDED +图标,它就会恢复为ADD TO BAG但与其图标一起,我该如何排除图标?

我正在尝试将添加的文字恢复为添加到没有图标的包。

以下是我正在运行的jQuery代码,我尝试过的以及CSS代码。

//使用jQuery代码

jQuery( document ).ajaxComplete(function() {
    var element = jQuery("a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added");
    element.text("ADDED");
    setTimeout(function() {
        element.text("ADD TO BAG");
        element.css('background-color', '#F0EFEB');
        element.css('color', '#A9885D');
    }, 4 * 1000);
});

//我试过这个

element.before('visibility', 'hiden');但它隐藏了整个按钮。

图标的CSS代码 -

.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added:before 
{
    content: '\2713';
    margin-right: 10px;
}

如果我只是删除这个CSS代码,那么我就不会在ADDED文本上有图标,这是一个绿色的勾号图标,除非我现在还没有看到另一种方式:)

1 个答案:

答案 0 :(得分:0)

我认为您需要做的就是删除" .added"类。

jQuery( document ).ajaxComplete(function() {
    var element = jQuery("a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added");
    element.text("ADDED");
    setTimeout(function() {
        element.text("ADD TO BAG");
        element.css('background-color', '#F0EFEB');
        element.css('color', '#A9885D');
        //remove added class from element
        element.removeClass("added");
    }, 4 * 1000);
});

此外,我必须要注意jQuery( document ).ajaxComplete(...),因为该功能将在该页面上的任何完整的ajax请求上执行。