当单击我的函数时,我想更改具有此函数元素的父元素。但是 $(this) 不起作用。
怎么了?
function accountConfirm(message, title, yes_label, no_label, callback) {
console.log($(this));
$("#accountConfirmModal").attr('data-confirm-yes', false);
if ($("#accountConfirm").length == 0) {
.....
}
$("#accountConfirmModal .content p").html(message || "");
};
也就是HTML元素
<button type="button" id="deleteScrollTop" class="btn btn-delete"
onclick="accountConfirm(jsResources.addressDeleteQuestion,jsResources.addressDeleteTitle, jsResources.yes,jsResources.no ,function(res){
if(res){
window.location.href = '@(Url.RouteUrl("CustomerAddressDelete", new {addressId = address.Id}))'
}
})">
<img src="@Url.ThemeFolderUrl("_images/delete.png")" alt="delete address" />
</button>
最佳答案
你可能打算这样做
如果您使用 jQuery 而不是使用内联事件处理程序,那么合并 jQuery 总是一个好主意
假设按钮ID是唯一的
function accountConfirm(message, title, yes_label, no_label, callback) {
$("#accountConfirmModal").attr('data-confirm-yes', false);
if ($("#accountConfirm").length == 0) {
.....
}
$("#accountConfirmModal .content p").html(message || "");
};
const route = function(res) {
if (res) {
window.location.href = '@(Url.RouteUrl("CustomerAddressDelete", new {addressId = address.Id}))'
}
}
$("#deleteScrollTop").on("click", function() {
console.log($(this));
accountConfirm(jsResources.addressDeleteQuestion,
jsResources.addressDeleteTitle,
jsResources.yes,
jsResources.no, route)
})
<button type="button" id="deleteScrollTop" class="btn btn-delete">
<img src="@Url.ThemeFolderUrl("_images/delete.png")" alt="delete address" />
</button>
关于javascript - $(this) 在我的 jQuery 点击函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69084548/