图片/ Alt Atrribut的Ceck节点类型

问题描述 投票:1回答:1

我有一个遍历所有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属性。

jquery html dom
1个回答
0
投票

一旦确定它不是文本节点,只需使用元素的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

© www.soinside.com 2019 - 2024. All rights reserved.