超链接替换文本
hyperlink alternate text replacement
现在我有了这段代码,它用超链接替换了span类。该超链接包括一个缩写,并且该超链接的备选文本包括相同的缩写。现在我想做的是,以某种方式替换超链接的替代文本中的第二个缩写。所以这里没有"点击这里访问+'名称'缩写",而是一个别名。因此,如果缩写是ggl,那么别名应该是google。但是超链接不应该使用这个别名。有人能帮我吗?thx
(function($) {
var number = "1234567";
function linkBuilder(abbreviation) {
return "<a href='https://www.test.com/" + abbreviation + "?sitenumber=" + number + "default'>Click here to visit " + abbreviation + "</a>";
}
function linkBuilder2(abbreviation2) {
return "<a href='https://www.test.com/" + abbreviation2 + "?sitenumber=" + number + "default'>Click here to visit " + abbreviation2 + "</a>";
}
jQuery(document).ready(function() {
var fl = $(".first-link");
if (fl.length > 0) {
fl.html(linkBuilder(fl.data("abbreviation")));
}
var sl = $(".second-link");
if (sl.length > 0) {
sl.html(linkBuilder2(sl.data("abbreviation2")));
}
});
})(jQuery);
这是一个正在工作的jsfiddle:
https://jsfiddle.net/e7qdx031/1/
linkBuilder()应该是可重用的,正如kalsoverus提到的那样。
另一件需要提及的事情是,下面的代码返回一个元素集合,而不仅仅是一个元素。
var fl = $(".first-link");
...
var sl = $(".second-link");
如果页面上有多个.first链接类,则您提供的代码将无法正常工作。因此,我会使用$.each()对每个元素进行迭代,并分别对它们运行linkBuilder()函数。
至于linkBuilder函数,我会修改它以接受元素对象,然后读取属性以检索别名和名称。全名是您似乎表示需要的东西,但代码中没有。
(function($) {
var number = "123456";
function linkBuilder($obj) {
var abbreviation = $obj.data('abbreviation');
var name = $obj.data('name');
return "<a href='https://www.test.com/" + abbreviation + "?sitenumber=" + number + "default'>Click here to visit " + name + "</a>";
}
jQuery(document).ready(function() {
$('.first-link, .second-link').each(function(index, obj){
$(obj).html(linkBuilder($(obj)));
});
});
})(jQuery);
您可能想要的是这样的东西:
function linkBuilder(abbreviation, alias) {
return "<a href='https://www.test.com/" + abbreviation + "?sitenumber=" + number + "default'>Click here to visit " + alias + "</a>";
}
只需将链接所需的显示名称作为第二个参数传递即可。
相关文章:
- 使用JavaScript将标题文本替换为按钮文本
- jQuery在用新文本替换HTML文本时淡出HTML文本,而不是仅显示
- 为什么不'使用此JavaScript将文本替换为不起作用的链接
- 将元素文本替换为子项中的值
- 使用 Jquery 将文本替换为笑脸图像
- 将页面上的文本替换为 jQuery 并提示文件下载
- 使用 JavaScript 将文本替换为图像
- 将 d3 演示中的圆圈和文本替换为包含自定义 HTML 和 ko 绑定的 foreignObject
- JavaScript无法用新文本替换文本
- 将表中的文本替换为用户友好的文本
- 将.onclick属性中的文本替换为javascript
- Javascript/Jquery.使用带通配符的正则表达式将纯文本替换为html
- 按名称将文本替换为 JavaScript 属性的内容
- 如何将 JSON 字符串中的文本替换为 Greasemonkey 的用户脚本
- Javascript:用文本替换整个锚点
- 在Chrome扩展程序中将文本替换为Treewalker
- 通过将文本替换为类来换行/中断列表元素
- 如何使用javascript将文本替换为彩色文本
- JavaScript - 消除文本替换的延迟
- j查询遍历和文本替换