使用 JavaScript 将 img 标记替换为 alt

replace img tag with alt using javascript

本文关键字:替换 alt JavaScript img 使用      更新时间:2023-09-26

我正在尝试使用正则表达式,但仅在PHP和几年前使用它:

var msgText = thisMSG.getElementsByClassName('message-text')[0].getElementsByClassName('emojitext')[0].innerHTML;
msgText = msgText.replace('/<img src="(['.]*)"(['.]*)alt="[(['.]*)">/g','''3');

我想用alt内容替换img标签:

<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="emoji emojiordered0186 selectable-text" draggable="false" alt="❤">

知道怎么了?

编辑:图像可以是Sentence的一部分,例如:

I <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="emoji emojiordered0186 selectable-text" draggable="false" alt="❤"> U!

您不必为此使用正则表达式。请改用下面的代码。

var msgText = thisMSG.querySelector(".message-text .emojitext");
msgText.parentNode.replaceChild(document.createTextNode(msgText.alt), msgText);

对于多个更改:

[].forEach.call(document.querySelectorAll(".message-text .emojitext"), function(emoji) {
   emoji.parentNode.replaceChild(document.createTextNode(emoji.alt), emoji);
});

好的,明白了:

var msgText = null;
while ( msgText = thisMSG.querySelector('.message-text .emojitext .emoji') )
{
  msgText.outerHTML = msgText.alt;
}

以及使用文本:

thisMSG.querySelector('.message-text .emojitext').innerHTML