客户只要求将/
他的网站的 红色... 贯穿整个网站!
我是否必须在每个 / 周围添加跨度,还是有更简单的方法?
希望这个样本有帮助。我在 SO 中找到了它。您可以用®
斜杠的html代码替换/
$(document).ready(function() {
$('*').each(function() {
var n = $(this).html().replace(
new RegExp('®','g'),
'<sup>®</sup>'
).replace(
new RegExp('®','g'),
'<sup>®</sup>'
);
$(this).html(n);
});
});
您可以尝试以下 jQuery 脚本:
$('body').html($('body').html()
.replace(/\/(?=[^>]*<)/gi, '<span style="color:red">/</span>'));
它只是用 span 将所有不在标签内的斜线包装起来。
检查它对您的网站有多快,我相信它可以使用。
这是一个FIDDLE,用于证明使用前瞻(?=[^>]*<)
对于防止标签内的匹配<>
被替换很重要。尝试删除它,生成的 HTML 将被破坏。
不能单独用css完成。检查此链接以了解如何使用 javascript 进行操作
您必须将每个出现的字符都包含在span
标记或其他合适的标记中。(实际上,<font color=red>/</font>
也可以。)但是,如果这听起来更合适,您可以在客户端动态执行此操作(您将拥有遍历文档树并进行包装的客户端 JavaScript)。
注意:这不适用于将纯文本作为声明内容的元素中的内容,例如option
元素。在它们内部,单个字符的样式不能与元素的其他内容不同。