gpt4 book ai didi

javascript - 如何从 $.get() 函数内部编辑由 anchor 触发的事件?

转载 作者:行者123 更新时间:2023-12-03 11:57:00 25 4
gpt4 key购买 nike

我正在尝试制作一个脚本,当您单击 anchor 时, $.get 函数将获取 anchor 的 href,然后该 href 将被删除,但我无法从 get 内部编辑有关 anchor 的任何内容元素。示例:

// make anchor disappear for example (doesn't work)
$('.belovedanchor').click(function(e) {
$.get($(this).attr('href')).done(function() {
$(this).hide();
});
});

// make an anchor disappear using a function (doesn't work too)
$('.belovedanchor').click(function(e) {
function do() { $(this).hide(); };
$.get($(this).attr('href')).done(function() {
do();
});
});

我不明白为什么 $(this) 更改为使用 $.get 函数而不是 .click 事件。

你们会怎么做?

最佳答案

您有几个问题。 编辑:只有一个问题 - 我现在从下面的评论中看到 belovedanchor 不是代码中的实际选择器。

首先,您的单击事件处理程序的 jQuery 选择器很可能不正确。将 $('belovedanchor') 更改为 $('.belovedanchor')$('#belovedanchor'),具体取决于 anchor 是否可识别分别通过类或元素 ID。

其次,do回调函数中的this并不引用 anchor 。在 JavaScript 中,作用域是在函数级别设置的,因此每当您声明新函数时,this 都会引用该新作用域。

这样做:

$('belovedanchor').click(function(e) {
var anchor = $(this);
function do() { anchor.hide(); };
$.get($(this).attr('href')).done(function() {
do();
});
});

简化:

$('belovedanchor').click(function(e) {
var anchor = $(this);
$.get(anchor.attr('href')).done(function() {
anchor.hide();
});
});

关于javascript - 如何从 $.get() 函数内部编辑由 anchor 触发的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25572681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com