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>'));​​​​

タグ内にないすべてのスラッシュをスパンでラップするだけです。

あなたのサイトにとってどれくらい速いかチェックしてください、私はそれが使えるかもしれないと信じています。

これは、タグ内の一致が置き換えられるのを防ぐために先読みを使用することが重要であることを示すための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 に答える