4

客户只要求将/他的网站的 红色... 贯穿整个网站!

我是否必须在每个 / 周围添加跨度,还是有更简单的方法?

4

4 回答 4

3

希望这个样本有帮助。我在 SO 中找到了它。您可以用®斜杠的html代码替换/

$(document).ready(function() {
    $('*').each(function() {
        var n = $(this).html().replace(
            new RegExp('®','g'),
            '<sup>®</sup>'
            ).replace(
            new RegExp('&reg;','g'),
            '<sup>&reg;</sup>'
            );
        $(this).html(n);
    });
});​

演示

于 2012-10-23T11:22:16.330 回答
2

您可以尝试以下 jQuery 脚本:

$('body').html($('body').html()
          .replace(/\/(?=[^>]*<)/gi, '<span style="color:red">/</span>'));​​​​

它只是用 span 将所有不在标签内的斜线包装起来。

检查它对您的网站有多快,我相信它可以使用。

这是一个FIDDLE,用于证明使用前瞻(?=[^>]*<)对于防止标签内的匹配<>被替换很重要。尝试删除它,生成的 HTML 将被破坏。

于 2012-10-23T11:20:59.870 回答
0

不能单独用css完成。检查此链接以了解如何使用 javascript 进行操作

于 2012-10-23T11:09:44.673 回答
-1

您必须将每个出现的字符都包含在span标记或其他合适的标记中。(实际上,<font color=red>/</font>也可以。)但是,如果这听起来更合适,您可以在客户端动态执行此操作(您将拥有遍历文档树并进行包装的客户端 JavaScript)。

注意:这不适用于将纯文本作为声明内容的元素中的内容,例如option元素。在它们内部,单个字符的样式不能与元素的其他内容不同。

于 2012-10-23T11:05:06.217 回答