私は JavaScript を初めて使用するので、直面しているこの問題について教えていただければ幸いです。以下の HTML コードでは、特定の単語 ("メッセージ" など) を強調表示しようとしています。単語を追加して太字にします。
<body>
<img src="http://some.web.site/image.jpg" title="abcd" />
This is a test message.
</body>
「これはテスト メッセージです」という文字列は body 要素で直接検出されます (つまり、id がないため、テキストを抽出するために getElementById を使用することはできません)。
そこで、body 要素全体を取得し、textContent を使用してテキストを抽出しました (これによりテキストが得られ、html のテキストの上にある画像は無視されました)。次に、単語を強調表示した後、'body's textContent を新しいものに戻します。弦。
問題は、テキストの上にあった画像を保存できず、新しい本文には textContent の値しかなく、画像が失われることです。これは私が使用した JS です (ただし、今は message を phone という単語に置き換えています)。
<script>
function myFunction(){
var x = document.getElementsByTagName('body')[0].textContent;
var v = x.replace("message","phone");
document.getElementsByTagName('body')[0].textContent = v;
}
</script>
他の要素もある本文のすぐ下に配置されたテキストを置き換える他の方法はありますか?