特殊な文字を検出してスタイルを設定したい . たとえば、次のようなもの:
本体["p"] / 本体["2"]
これどうやってするの?ありがとう
かなり単純な置換を使用してノードごとにこれを行うことができますが、あまりうまく拡張できません。
マークアップを考えると:
<p>Peter Rabbit ate all of Potter's pickling cukes.</p>
このテキストのすべての文字pにスタイルを追加したい場合は、段落ノードを選択して任意のpの周りにスパンを追加できます(単一の段落を想定)。
var graf = document.getElementsByTagName('p')[0];
graf.innerHTML = graf.innerText.replace(/(p)/gi,'<span class="fancy">$1</span>');
とはいえ、これはプレーン テキスト ノードでのみ機能します。たとえば、span
タグに既にp
タグがある場合、置換によってめちゃくちゃになります。
CSSではできません。非要素 (css によって作成された)疑似要素は::first-line
、 とのみ::first-letter
です。
ただし、DOM を介して JS で検索し、強調表示する文字の周りにタグを作成することができます。正規表現とJavaScriptを使用してhtmlのハイライトワードを確認してください -その方法についてはほとんどありません。