0

これは、コンテンツをそのままにして、javascriptだけで<span>タグを削除するためのフォローアップの質問です。

スパンを使用してページ内のテキストを強調表示すると、コンテンツが新しいノードに分割されます。次に、を使用してハイライトスパンを削除するreplaceChildと、ノードは分離されたままになります。元のテキストを、3つのテキストノード(ハイライトが開始される前のテキスト、以前にハイライトされたテキスト、およびハイライトが終了した後のテキスト)ではなく、単一のテキストノードにマージして戻したいと思います。これは可能ですか?

4

2 に答える 2

3

あなたは次のようなことを試すことができます

 containerElement.innerHTML = containerElement.textContent;

textContentのため、9より前のIEで機能するかどうかはわかりません。

于 2012-11-27T21:38:48.110 に答える
2

ジムの提案に似ていますが、IEに対応しています。

containerElement.innerHTML = containerElement.textContent || containerElement.innerText;

またははるかに長いバージョン:

var text = containerElement.textContent || containerElement.innerText;

while (containerElement.firstChild) {
    containerElement.removeChild(containerElement.firstChild);
}
containerElement.appendChild(document.createTextNode(text));

最初の方が簡単だと思います。

于 2012-11-27T22:49:36.357 に答える