首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery或CSS:将标记替换为<sup>&reg;</sup>

jQuery或CSS:将标记替换为<sup>&reg;</sup>
EN

Stack Overflow用户
提问于 2010-12-20 16:42:19
回答 3查看 6.2K关注 0票数 4

我有一个HTML标题:

代码语言:javascript
复制
<h1>Time Matters&reg;</h1> (equals to: Time Matters®)

我需要一种通过CSS或控制‘ ;’标记的方法。据我所知,我认为用CSS攻击‘ ;’是不可能的,是吗?

现在,如果使用jQuery,我需要将‘ ;’括在< sup >标记中,如下所示:

代码语言:javascript
复制
<h1>Time Matters<sup>&reg;</sup></h1>

...this方法我可以通过CSS锁定元素。

我尝试适应本教程,但代码将所有单词封装在< span >标记中。

知道怎么做吗?任何帮助都将不胜感激。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-20 16:46:41

正常的Javascript String .replace()应该这样做:

代码语言:javascript
复制
$(function() {
    $('h1').each(function(i, elem) {
        $(elem).html(function(i, html) {
            return html.replace(/(®)/, "<sup>$1</sup>");
        });
    });
});

示例:http://www.jsfiddle.net/4yUqL/24/

代码语言:javascript
复制
// off-topic

我刚刚意识到,哇,这看起来很令人印象深刻

代码语言:javascript
复制
(®)(®)
票数 8
EN

Stack Overflow用户

发布于 2010-12-20 16:49:09

有一个Javascript函数可以执行这个任务,称为replace()。这里有更多的信息

我建议将元素的内容赋值给一个变量,使用替换函数来交换<sup>封闭符号的符号,然后使用DOM将其附加到文档中。

票数 1
EN

Stack Overflow用户

发布于 2015-01-11 02:19:32

在这里,Javascript解决方案:

代码语言: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");

这是一只小提琴。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4491766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档