Просто используйте свойство nodeName
элемента, чтобы проверить, является ли оно изображением ("IMG"), если вы уверены, что это не текстовый узел.
replaceText(document.body)
function replaceText(element){
if(element.hasChildNodes()){
element.childNodes.forEach(replaceText)
} else if(element.nodeType === Node.TEXT_NODE){
console.log("Text Found! textContent: ",element.textContent)
}
else if(element.nodeName = "IMG"){
console.log("Image Found! Alt: ",element.alt)
}
}
<html>
<body>
<p>this is text</p>
<div>this is an element</div>
<img src="https://placehold.it/22" alt="i am an image">
</body>
</html>
Чтобы получить свойство alt
изображения, просто используйте element.alt
в своем коде.
, чтобы удалить Если текст в нем соответствует регулярному выражению, просто протестируйте каждое свойство, которое вы хотите проверить:
function replaceText(element){
if(element.hasChildNodes()){
element.childNodes.forEach(replaceText)
} else if(element.nodeType === Node.TEXT_NODE){
//console.log("Text Found! textContent: ",element.textContent)
}
else if(element.nodeName = "IMG"){
console.log("Image Found! Alt: ",element.alt)
let re = /Wendler/gi
if((element.alt != undefined &&element.alt.match(re)) || (element.src != undefined &&element.src.match(re)) || (element.title != undefined &&element.title.match(re))){
element.remove()
}
}
}