为什么jQuery attr('href','#')设置了一个空值而不是#

why jQuery attr('href', '#') set an empty value rather than #

本文关键字:一个 空值 href attr 为什么 jQuery 设置      更新时间:2023-12-04

我使用的是jQuery 1.8.3版

jQuery('#edit_param_apppmStyleImage').attr("href","#");

HTML与一起出现

 <a id="edit_param_apppmStyleImage" href="">Edit</a>

它设置了一个空值,而不是"#"。而且它100%肯定是由我的网站的特殊脚本别人写的。

任何专家都可以提供一些建议,说明是什么原因导致了这种奇怪的行为?顺便说一句,它通常会设置其他值,如"##"。

它设置了一个空值,而不是"#"。这是100%肯定造成的由其他人编写的我的网站的特殊脚本。

您没有提供有关在您的网站上运行的特殊脚本的任何详细信息。但我会尝试在加载完所有内容(包括图像)后运行脚本。在这种情况下,这就是我想到的;

当某个元素和所有子元素具有已完全加载。

由于它与$(document).ready()函数有点不同,所以如果其他脚本覆盖了脚本的预期行为,它可能会有所不同。

尝试以下

jQuery(window).bind("load", function() {
   jQuery('#edit_param_apppmStyleImage').attr("href","#");
});

我们在这里所做的是延迟脚本的执行,直到加载整个窗口。由于$(document).ready()函数中的任何内容都在$(window).load()函数中的代码之前执行,因此我们正在减少脚本被重写的机会。

不确定这是否有效,但请尝试一下。

prop():替换attr()

jQuery('#edit_param_apppmStyleImage').prop("href","#");