在所有商标和注册商标符号周围添加上标<sup>标签
Adding superscript <sup> tags around all trademark and registered trademark symbols
我正在尝试在我的页面中的每个 、 ® © 周围™添加<sup></sup>
标签。
发现了这个问题:CSS上标注册商标,这有助于我入门。
该脚本的工作原理是将标签放置在正确的位置,但它在每个标签周围添加两个<sup></sup>
标签,而不仅仅是一个。
这是我添加标签的JS:
jQuery("body").html(
jQuery("body").html().replace(/®/gi, '<sup>®</sup>').replace(/®/gi, '<sup>®</sup>').
replace(/™/gi, '<sup>™</sup>').
replace(/™/gi, '<sup>™</sup>').
replace(/©/gi, '<sup>©</sup>').
replace(/©/gi, '<sup>©</sup>')
);
如何确保每个符号只添加一次标签?也许是某种条件?
与其重写整个标记(并删除所有绑定事件),我会选择这样的东西:
$('body :not(script)').contents().filter(function() {
return this.nodeType === 3;
}).replaceWith(function() {
return this.nodeValue.replace(/[™®©]/g, '<sup>$&</sup>');
});
演示:http://jsfiddle.net/QTfxC/
这对
我有用。
$("p,h1,h2,h3,h4,li,a").each(function(){
$(this).html($(this).html().replace(/®/gi, '<sup>®</sup>').replace(/®/gi, '<sup>® </sup>'));
});
@VisioN的回答对我来说效果不佳,尽管它面向正确的方向。我稍微调整了一下:
var regexp = /['xAE]/;
$('body :not(script,sup)').contents().filter(function() {
return this.nodeType === 3 && (regexp.test(this.nodeValue));
}).replaceWith(function() {
return this.nodeValue.replace(regexp, '<sup>$&</sup>');
});
此方法使用字符十六进制,而不是使用字符代码。我查找了 character-codes.com 上的十六进制,并选择了角色的®十六进制。值是AE
,所以这就是我得到解决方案的方式。让我知道这个是否适合你!
这在我的Drupal 8网站上对我有用:
(function ($, Drupal) {
var regexp = /['u2122]/;
$('body :not(script,sup)').contents().filter(function() {
return this.nodeType === 3 && (regexp.test(this.nodeValue));
}).replaceWith(function() {
return this.nodeValue.replace("'u2122", "<sup>™</sup>");
});
})(jQuery, Drupal);
相关文章:
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 在 JavaScript 上添加请求标头
- XMLHttpRequest无法加载.否'访问控制允许来源'标头存在于请求的资源上
- 无法从JavaScript访问cookie,但在HTTP标头上可见
- 设置跨域文件上传的响应标头和请求标头
- 否'访问控制允许来源'请求的资源上存在标头.-Pinterest oauth实现
- 否'访问控制允许来源'标头存在于请求的资源上.起源'http://localhost:8100&
- 正则表达式替换所有上标数字
- 在所有商标和注册商标符号周围添加上标标签
- HTML 输入中的上标和下标
- 使用javascript导出时excel工作表中的上标
- 如何将上标谷歌图表标题
- Javascript中简单的上标和下标语法解析器
- 我们如何使十进制后的数字看起来像javascript中的上标
- 使用javascript检查字符串中是否有上标字符
- 附子中的上标html标签
- 在以色列地图上标出一些地方
- 图表js把平方米/上标放在y轴上
- 使用JavaScript对所选内容应用上标
- 强制 jqMath 中的运算符上标