繁体   English   中英

使用jquery在<sup>®</sup>中的HTML文档中包装所有®字符

[英]Wrap all ® characters in HTML document in <sup>®</sup> using jquery

我有一个包含许多®字符的文档。 我需要将它们全部渲染为上标。 我正在尝试这个,但没有运气:

$('body:contains("®")').contents().each(function () {
    if (this.nodeType == 1) { //Look for only element Nodes
        $(this).html(function (_, oldValue) {
            return oldValue.replace(/®/g, "<sup>$&</sup>")
        })
    }
});

你可以使用基本替换;

$("body").html($("body").html().replace(/\u00AE/g, "<sup>&reg;</sup>"))

小提琴

我不确定这是否具有足够的性能或足够强大的生产,但它似乎适用于我的有限测试:

$(function () {
    var html = $('body').html();
    html = html.replace(/®/g, "<sup>®</sup>");
    $("body").html(html);
});

JSFiddle: http//jsfiddle.net/zphv6/

基本上将正文的HTML作为字符串抓取,执行正则表达式搜索/替换,并用新字符串替换正文的HTML。

这取决于角色如何放入HTML中,但它可能就像这样简单 -

$("body").children().each(function() {
    $(this).html($(this).html().replace(/\&reg;/g,"<sup>&reg;</sup>"));
});

http://jsfiddle.net/jayblanchard/363qC/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM