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