contenteditable divでフォーマットされたHTMLがあります。私はより簡潔で現代的なHTMLにしたいと思っています。私は簡単にb、strong、em、fontなどのタグを置き換えてスパンで置き換えることができますが、その結果、スタックされた要素が生成されました。例えばjquery - 積み重ねられたDOM要素を統合する
、私が持っているかもしれません:
<span style="font-weight:bold">
<span style="text-decoration:underline">some text</span>
</span>
を私は見てみたい:
<span style="font-weight:bold; text-decoration:underline">some text</span>
難しい部分が処理する必要があります:
<span style="font-weight:bold">
<span style="text-decoration:underline">some text</span> not underlined
</span>
私は」これについて何か探して考えていたのですが、合理的なものは見つかりませんでした。
あなたはこれをJavaScriptで実行したいと思っていますか? –
@JamesMontagneはい。ユーザーは "contenteditable = true" divにテキストを入力し、送信する前にそれをクリーンアップしたいと思います。私はdivのHTMLをきれいに保つために探していない、ちょうどそれが私がすでにキャプチャしているイベントであるユーザーが完了したら、それを行う必要があります。 – jopke
@jopke - 私は、contenteditable divが送信ボタンでクリーンアップされるという同様の要件がありました。簡単にするために、useCSSをfalseに設定し、htmlスープをクリーンアップします(http://stackoverflow.com/questions/16226671/consolidate-stacked-dom-formatting-elements-contenteditable-divで解決策3を見てください)。 regexを使ってb/span/s/u/i/emタグを適切なCSS equivに素早く変換します。 Solution3はすべてのノードの書式設定を命じるので、正規表現を使ってどのように処理したいかをフォーマットすることができます。 –