jQuery或CSS:替换®;用<;sup>&;注册</sup>;

jQuery或CSS:替换®;用<;sup>&;注册</sup>;,jquery,css,Jquery,Css,我有一个HTML标题: <h1>Time Matters&reg;</h1> (equals to: Time Matters®) 时间问题®;(等于:时间问题®) 我需要一种方法来控制“®'通过CSS或jQuery标记。据我所知,我认为不可能针对“®,是吗 现在,如果使用jQuery,我需要附上“®'在标记中,如下所示: <h1>Time Matters<sup>&reg;</sup><

我有一个HTML标题:

<h1>Time Matters&reg;</h1> (equals to: Time Matters®)
时间问题®;(等于:时间问题®)
我需要一种方法来控制“®'通过CSS或jQuery标记。据我所知,我认为不可能针对“®,是吗

现在,如果使用jQuery,我需要附上“®'在标记中,如下所示:

<h1>Time Matters<sup>&reg;</sup></h1>
时间问题®;
…这样我就可以通过CSS将元素作为目标

我尝试过修改,但代码将所有单词封装在标记中

你知道如何做到这一点吗?任何帮助都将不胜感激


谢谢。

一个普通的Javascript
字符串。replace()
应该可以:

$(function() {
    $('h1').each(function(i, elem) {
        $(elem).html(function(i, html) {
            return html.replace(/(®)/, "<sup>$1</sup>");
        });
    });
});
我刚刚意识到,哇,这看起来很令人印象深刻

(®)(®)

有一个名为replace()的Javascript函数用于执行此操作


我建议将元素的内容分配给一个变量,使用replace函数将符号替换为
包含的符号,然后使用DOM将其附加到文档中。下面是一个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");
var replaceHTMLCharacterEntities=函数(表达式、标记、上标){
var regex=new RegExp(表达式“g”),
iTag=tag.toUpperCase(),
iSuperscript=表达式[上标](),
tags=document.getElementsByTagName(iTag),
i=0,
tagsLength=tags.length,
html=“”;
对于(i;i

你所说的“目标”是什么意思?您想做什么?请使用“\u00a9”而不是“®”。为了代码兼容性!当然,这就是我的意思……@文森特:你说得对,但在这种情况下。。我很难修复:)这正是我所需要的,它工作得很好:)。jAndy,我只是从jQuery开始,你有没有办法解释一下你的代码?提前谢谢。@Vincent:那个unicode也错了
\xAE
是正确的值。@文森特:为什么要使用“\u00a9”?。。。那么,jsut看到了jAndy的回答,那么,为什么要使用“\xAE”呢?
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");