是否可以通过HTML,CSS或JavaScript创建一种情况,即每次在您的网站上提及某个字词时,它都链接到同一页面?
例如,单词“Test”:
这是一个测试段落。我想将Test一词链接到一个 每次出现时都会显示特定页面。
在上一段中,“Test”一词会在每次出现时链接到“test.html”,而不会出现任何链接html或任何需要的手动工作。这可能吗?或者,通过为它分配一个带有类的div标签?
出于我的目的,它需要在没有服务器的情况下在客户端工作。
答案 0 :(得分:1)
您只想替换文本节点,而不是整个DOM,或者如果替换有效HTML标记的单词(例如form
),则可能会导致错误。这是一个递归替换,它尊重HTML标记,只替换实际文本:
function walkTheDOM(node, func)
{
func(node);
node = node.firstChild;
while (node)
{
walkTheDOM(node, func);
node = node.nextSibling;
}
}
function supplant(word, link)
{
return function (node) {
if (node.nodeType === 2) // only if the node contains actual text
{
node.innerHTML = node.innerHTML.replace(word, "<a href=\"" + link + ">" + word + "</a>");
}
};
}
您可以按如下方式使用它:
walkTheDOM(document.body, supplant("form", "https://en.wikipedia.org/wiki/Form"));
答案 1 :(得分:0)
基于您提供的信息的简短回答可能是:
document.body.innerHTML = document.body.innerHTML.replace(/Test/g, '<a href="test.html">Test</a>');
&#13;
This is a Test paragraph. I would like the word Test to link to a specific page every time it appears.
&#13;