如何获取第一个HTML元素的文本



如何递归递归文本。我只需要在没有子元素文本的情况下才能获取HTML元素的文本。考虑是否存在嵌套的HTML元素,然后如何获得第一个元素的文本消除嵌套子元素和各自的文本。

我尝试过" elem.innerhtml "," elem.innertext "," elem.textContent "所有嵌套元素的文字。

代码样本:我的html如下:

<HTML>
    <HEAD></HEAD>
    <BODY>
        <DIV> SOMEDIVTEXT 
            <TABLE>
              <TBODY>
               <TR><TD>COLUMN1</TD></TR>
               <TR><TD>COLUMN2</TD></TR>
              </TBODY>
            </TABLE>
        </DIV>
    </BODY>
</HTML>

我只需要提取某种程度上的当当前节点指针处于DIV而不拿到嵌套儿童的文字时。

尝试firstChild属性。它获取文本节点。

例如:

document.body.firstElementChild.firstChild

它适用于此代码样本。

好吧,所以(1(您在浏览器中写下JavaScript,(2(您将元素作为对象(您在问题中提到了'Elem',所以我猜猜你有吗?(,然后您可以使用elem.childNodes()获得元素的孩子。

这将为您提供一个Nodelist对象,该对象包含元素中的每个节点。对于您在问题中引用的HTML的情况下,这将是两个节点。第一个将是包含文本SOMEDIVTEXT的文本节点,第二个将是包含<TABLE>元素的元素节点。

所以elem.childNodes[0]将获得您要提取的文本。

但是DOM非常灵活,因此还有其他属性和方法也可以得到相同的效果,包括" Elem.firstchild",如另一个答案中所述。

最新更新