我有一个HTML标题:
<h1>Time Matters®</h1> (equals to: Time Matters®)我需要一种通过CSS或控制‘ ;’标记的方法。据我所知,我认为用CSS攻击‘ ;’是不可能的,是吗?
现在,如果使用jQuery,我需要将‘ ;’括在< sup >标记中,如下所示:
<h1>Time Matters<sup>®</sup></h1>...this方法我可以通过CSS锁定元素。
我尝试适应本教程,但代码将所有单词封装在< span >标记中。
知道怎么做吗?任何帮助都将不胜感激。
谢谢。
发布于 2010-12-20 16:46:41
正常的Javascript String .replace()应该这样做:
$(function() {
$('h1').each(function(i, elem) {
$(elem).html(function(i, html) {
return html.replace(/(®)/, "<sup>$1</sup>");
});
});
});示例:http://www.jsfiddle.net/4yUqL/24/
// off-topic我刚刚意识到,哇,这看起来很令人印象深刻
(®)(®)发布于 2010-12-20 16:49:09
有一个Javascript函数可以执行这个任务,称为replace()。这里有更多的信息
我建议将元素的内容赋值给一个变量,使用替换函数来交换<sup>封闭符号的符号,然后使用DOM将其附加到文档中。
发布于 2015-01-11 02:19:32
在这里,Javascript解决方案:
var replaceHTMLCharacterEntities = function (expression, tag, superscript) {
var regex = new RegExp(expression, 'g'),
iTag = tag.toUpperCase(),
iSuperscript = expression[superscript](),
tags = document.getElementsByTagName(iTag),
i = 0,
tagsLength = tags.length,
html = "";
for (i; i < tagsLength; i++) {
html = tags[i].innerHTML.replace(regex, iSuperscript);
tags[i].innerHTML = html;
}
};
replaceHTMLCharacterEntities("\u00a9", "h1", "sup");
replaceHTMLCharacterEntities("\u00AE", "p", "sub");
replaceHTMLCharacterEntities("\u24C8", "p", "sub");这是一只小提琴。
https://stackoverflow.com/questions/4491766
复制相似问题