我有一个遍历所有HTML子节点的递归函数。
是否有一种简单的方法来检查当前元素是否为具有element.nodeType的图像?所以我可以在此元素上使用DOM。
下面是代码示例:
replaceText(document.body)
function replaceText(element){
if(element.hasChildNodes()){
element.childNodes.forEach(replaceText)
} else if(element.nodeType === Text.TEXT_NODE){
//Do Something
}
同样,也适用于图片,尤其是图片的alt属性。
一旦确定它不是文本节点,只需使用元素的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
。