繁体   English   中英

JQUERY:按类访问元素表亲

[英]JQUERY: Accessing element cousin by class

嗨,我有以下html代码:

<li class="grey">
    <div class="row">
       <button id="test" style="width:50%;" class="btn btn-blue-white cartBtn">Add to Cart</button>
    </div>
    <div class="row">
       <a href="#" class="checkoutLink" style="margin-top:-10px;font-size:small">Go To Checkout</a>
    </div>
</li>

加载页面时,我会隐藏结帐链接按钮,直到用户单击“添加到购物车”为止。 在他们单击添加到购物车后,我的JavaScript如下所示:

 $('.cartBtn').click(function () {
           //do stuff for preprocessing
            var url = "../Store/AddToCart";
            $.ajax({
                type: "GET",
                url: url,
                data: {
                    //add data
                },
                dataType: "json",
                success: function (data) {
                    if (data.success == true) {
                       $(this).closest('li').find('.checkoutLink').show();
                    }
                }
            });
        });

链接永远不会显示备份。 我也尝试使用

$(this).parent().parent().find('.checkoutLink').show() 

也没有运气。 我如何使用jquery来获取此锚标记并使其可见。

问题是this ,从成功函数中调用的时候它不再是指外this 在Ajax之外创建一个引用原始this的变量。

    $('.cartBtn').click(function () {
              var $this = $(this);
               //do stuff for preprocessing
                var url = "../Store/AddToCart";
                $.ajax({
                    type: "GET",
                    url: url,
                    data: {
                        //add data
                    },
                    dataType: "json",
                    success: function (data) {
                        if (data.success == true) {
                           $this.closest('li').find('.checkoutLink').show();
                        }
                    }
                });
            });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM