类似于: Search For Words, Replace With Links。但是,我不希望看到完整超链接的URL,而是只有最终用户可见的超链接外观。 ---我也无法弄清楚如何使用replace()
- JS函数,就像在以下帖子中使用的那样:How to replace all occurrences of a string in JavaScript?,对于同一个特定问题。 ---也类似于JS问题:Link terms on page to Wikipedia articles in pure JavaScript,但我想那里给出的答案不能预先区分不明确的术语。
在(a)某些HTML页面中,是否可以:
实施例:
(1)无论 cell 这个词出现在哪里,这个词都应该收到链接:...wiki/cell,以得到以下结果:a {{3} }只是cell。
所以,我真正想要的是模仿任何cell内部实际发生的事情(尽管我不知道这是否在那里自动化)。
非常感谢任何帮助。
答案 0 :(得分:2)
从您关联的问题开始,修改它以实现目标非常容易。首先假设我们有一个这样的短语和链接列表:
var words = [
{ word: 'foo', link: 'http://www.something.com' },
{ word: 'Something Else', link: 'http://www.something.com/else' ]
];
我们可以迭代该列表替换文档中的任何匹配项,但包括我们正在插入的文本中搜索的单词。我也在工具提示中添加了一个示例,说明您还可以做些什么。
$(function() {
$.each(words,
function() {
var searchWord = this.word;
var link = this.link;
$('body:contains("' + searchWord + '")').each(function() {
var newHtml = $(this).html().replace(searchWord,
'<a class="wikilink" title="here is a link to Wikipedia" href="'+link+'">' + searchWord + '</a>');
$(this).html(newHtml);
});
}
);
});
一个有效的例子:http://jsfiddle.net/yxhk1fcd/10/