拿起一个元素并为其添加CSS规则

时间:2015-06-17 09:54:01

标签: javascript jquery html css

我有一个CMS(Joomla)网站,许多地方都有®标志。而不是通过每个模块并添加span而不是它superscript,是否有我可以使用的JS或jQuery代码,选择这个注册并使其成为上标?

我知道这是一个很长的镜头,但如果它确实存在,那将会非常酷。

感谢。

编辑:如果可能的话,使用纯JS,因为我有一个复杂的滑块,包括jQuery带来的错误

2 个答案:

答案 0 :(得分:1)

你可以使用JavaScript / jQuery实际执行此操作,但这是一个非常昂贵的功能!​​

$(document).ready(function () {
  $("body").html($("body").html().replace(new RegExp('®', 'g'), '<sup>&reg;</sup>'));
});
  

注1:这在表现上很糟糕!

     

注2:这可能会移除events,因此最好使用仅包含Rich Text Content的选择器替换"body"

解决注2

$(document).ready(function () {
  $(".user-content-area").html($(".user-content-area").html().replace(new RegExp('®', 'g'), '<sup>&reg;</sup>'));
});

可能有使用&reg;的机会。所以,对于那些:

$(document).ready(function () {
  $(".user-content-area").html($(".user-content-area").html().replace(new RegExp('&reg;', 'gi'), '<sup>&reg;</sup>'));
});

这是正则表达式的替代版本!您也可以使用split()join()!而不是:

.replace(new RegExp('®', 'g'), '<sup>&reg;</sup>')

更改为:

.split('®').join('<sup>&reg;</sup>')
.split('&reg;').join('<sup>&reg;</sup>')
  

注意:这是区分大小写的! :(

答案 1 :(得分:1)

最好使用一些CSS代替一些javascript。 CSS:

.sup { vertical-align: super; }

HTML:

<span class="sup">&reg;</span>

您可以使用Sed

轻松搜索/替换许多文件
find . -name "*.php" -print | xargs sed -i 's/\&reg;/<span class=\"sup\">\&reg;<\/span>/g'

(注意:未经过测试!