URL 自动附加到页面 URL

URL automatically apending to page URL

我正在尝试使用 getElementsByTagName 替换我网站正文部分中的一些文本,并将其替换为 hyperlink。问题不是给我指定的 link 而是我得到 https://www.example.com/section1/"https://www.example.com/section2".

这是我的代码:

<script>
window.onload = function() {
    var string = document.getElementsByTagName('body')[0].innerHTML;
    var replacedString = string.replace(/msAb/gi,"<a href = &quot;https://www.example.com/sectiontitle&quot'>hyperlinktext</a>");
    document.getElementsByTagName('body')[0].innerHTML = replacedString;
}
</script>

非常感谢您的建议。

谢谢!

Link 元素 href 值通常在 HTML 源中作为带引号的字符串提供。但实际上,在没有建议您这样做的情况下,引号可以省略。因此 HTML 解析器将在 href 值周围看到它们时删除引号。 HTML 解析器还替换字符实体,如 "带有实体代表的字符 - 在本例中为双引号。

解析器尝试删除 href 属性周围的引号并替换字符实体的顺序决定了结果。您已经充分证明删除实际引号是第一位的。 href 值在 in 中带有引号,在字符实体替换后,它被视为相对引用并产生您发布的亲戚 link。

所以从字符串中取出字符实体。用反斜杠转义 JavaScript 中的引号,或者在单引号字符串中使用双引号。