javascript - JQUERY:按类访问元素表亲
问题描述
嗨,我有以下 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
,当从 success 函数内部调用它时,它不再指向外部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();
}
}
});
});
推荐阅读
- javascript - Chart.js:如何设置图表的最小高度但仍保持纵横比?
- c++ - use of flow operators on objects
- javascript - 我需要帮助更新此数组状态以显示为表数据
- type-conversion - 如何在 AutoHotkey 中将变量转换为布尔值?
- postgresql - 空闲事务 mybatis jboss 6.4 postgres 9.6
- python - 使用 Python sqlparse 获取查询树/层次结构
- excel - Excel 连接到 SQL Server:连接到不同 SQL 驱动程序的区别
- java - Java Web 应用程序延迟使用 zimbra 发送外部电子邮件
- unity3d - 重置飞行模式?
- sql - 如何递归检索可用城镇?