【发布时间】:2013-01-29 17:48:01
【问题描述】:
我正在尝试用页面加载时计算的 URL 替换一些空的 href="" 语句。
然而,替换字符串包含多个 &,需要在 href 中。
无论我尝试什么,只要使用 setAttribute("href", url); 或 $(id).attr('href', url),所有 & 都会被 & 替换,并且链接会失败。
如何防止这种情况发生?我很确定任何以.href 结尾或包含href 的代码都在经历翻译阶段并且都会失败。
您可能已经注意到我已经多次编辑此消息,因为您根本无法输入完整的 '& a m p;'在此框中,也不会在此处翻译为“&”。
【问题讨论】:
-
如何获得
url变量? -
没关系,它永远是一个字符串,只要有一个 &在其中,它将被翻译。如果直接将相同的字符串粘贴到 href="" 中,则没有问题。
-
如果您使用 scripting 将
&amp写入属性,那么它将在属性值 verbatim 中。 那是链接失败的原因。另请参阅 Gareth 的出色回答。 -
我有一个正确的现成字符串 URL。为了在 href="" 的引号之间获取该字符串,我尝试了 link.setAttribute("href", url); 等。结果是没有文字 &s 的 href,它调用的 Perl 脚本失败。
标签: javascript jquery html href replace