gpt4 book ai didi

javascript - 使用 jQuery .attr 或 .prop 设置属性值不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 05:19:19 25 4
gpt4 key购买 nike

我创建了一个按钮,其属性名为“loaded”,初始值为“no”。单击按钮后,我正在运行一些 ajax,在它的最后我试图将“已加载”属性设置为"is",这样如果用户多次单击按钮,ajax 就不会再次运行.

我有这样的东西:http://jsfiddle.net/PDW35/2/

单击按钮不会将加载更改为"is"。但是,如果您在 .attr 调用后立即发出警报,如下所示:

alert($(this).attr('loaded'));

警告框确实包含"is",这没有帮助,因为一旦用户点击,上面的相同代码会在屏幕上显示“否”警告框。

如果我使用 .prop() 而不是 .attr(),所有行为都是一样的。我是否遗漏了一点,或者 .prop().attr() 只是不能使用自定义属性?

编辑:根据以下评论使用 ajax 更新了 jsfiddle:http://jsfiddle.net/PDW35/5/

最佳答案

我不确定原始代码不起作用的原因,但 $this 似乎是出于某种原因的原因。试试下面的方法,它似乎有效。 Fiddle在这里。

我会在找到原因后尽快更新答案。

var loaded = $(".preview-button").attr('data-loaded');
if (loaded === "no") {
$.ajax({
success: function (result) {
$(".preview-button").attr('data-loaded', 'yes');
alert($(".preview-button").attr('data-loaded'));
}
});
} else {
alert("data loaded");
}

引用这个thread这似乎是 $this 似乎无法在 AJAX 调用中工作的原因。

关于javascript - 使用 jQuery .attr 或 .prop 设置属性值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17987607/

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