是否可以通过HTML,CSS或JavaScript创建一种情况:每次在您的网站上提及某个词时,它都会链接到相同的页面?每次出现同一个链接到同一页面?
例如,单词 “测试”:
这是一个试验段。我希望Test这个词在每次出现时链接到一个 特定页面。
在上面的段落中,“测试”会链接到“test.html的”似乎没有出现在其周围或所需的任何手工作业的任何链接HTML每次。这可能吗?或者,也可以通过为类指定一个div标签?
为了我的目的,它需要在没有服务器的情况下工作在客户端。
是否可以通过HTML,CSS或JavaScript创建一种情况:每次在您的网站上提及某个词时,它都会链接到相同的页面?每次出现同一个链接到同一页面?
例如,单词 “测试”:
这是一个试验段。我希望Test这个词在每次出现时链接到一个 特定页面。
在上面的段落中,“测试”会链接到“test.html的”似乎没有出现在其周围或所需的任何手工作业的任何链接HTML每次。这可能吗?或者,也可以通过为类指定一个div标签?
为了我的目的,它需要在没有服务器的情况下工作在客户端。
根据你提供的可能是这个信息的简短回答:
document.body.innerHTML = document.body.innerHTML.replace(/Test/g, '<a href="test.html">Test</a>');
This is a Test paragraph. I would like the word Test to link to a specific page every time it appears.
谁降低了这个?似乎是一个有效的解决方案 – Aziz
要替换只有文本节点,而不是整个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"));
检查:http://stackoverflow.com/questions/17866866/how-to-turn-keyword-on-a-site-into-links-with-jquery – Math
你可以硬编码它,具体取决于有多少测试实例。您也可以使用JavaScript将锚点附加到单词的所有实例。您应该尝试首先提出自己的解决方案。 – Wold
我需要一个服务器,但jQuery,不是吗?这不适用于我。 – StarDart