Ich habe eine generierte Zeichenfolge wie diese
tesgddedd<br> <div><img style="max-width: 10rem;" src="folder/mypicture.jpg"><div> <br></div></div>
Ich möchte das Div erhalten, das img enthält, und in diesem Div eine CSS-Klasse hinzufügen, um eine neue Zeichenfolge wie diese zu erhalten
tesgddedd<br> <div class="myCssClass"><img style="max-width: 10rem;" src="folder/mypicture.jpg"><div> <br></div></div>
Ich habe diese Methode ausprobiert
let myString = 'tesgddedd<br> <div><img style="max-width: 10rem;" src="folder/mypicture.jpg"><div> <br></div></div>' console.log('My new String with div class : ',myString.match(/<div [^>]*img="[^"]*"[^>]*>/gm)[0])
Es funktioniert nicht.
Was soll ich tun?
建议使用HTML解析器而不是正则表达式,并使用
.querySelector
来获取带有img
的div
。使用原生浏览器接口DOMParser和.parseFromString来解析HTML。
下面的代码片段是可视化示例