繁体   English   中英

使用 JSDOM 从特定标签 (Node.JS) 获取文本

[英]Use JSDOM to get text from a specific tag (Node.JS)

HTML 响应:

<html>
  <head> </head>
  <body>
    <span style="font-size:30px">Name:</span>
    <span style="font-size:25px;border-radius: 10px;">John Doe</span>
    <h1>Stats</h1>
    <div>
      <p>info1</p>
      <p>info2</p>
      <p><a href="https://link.com">info3</a></p>
    </div>
  </body>
</html>

我会使用querySelector()来检索标签中的链接和第二个 span 标签中的 John Doe 吗? 如果是这样,我将如何获得确切的标签?

您可以按如下方式使用DOMParser

 const response = `<html> <head> </head> <body> <span style="font-size:30px">Name:</span> <span style="font-size:25px;border-radius: 10px;">John Doe</span> <h1>Stats</h1> <div> <p>info1</p> <p>info2</p> <p><a href="https://link.com">info3</a></p> </div> </body> </html>`; const doc = new DOMParser().parseFromString(response, "text/html"); console.log(doc.querySelector("a[href]").href); console.log(doc.querySelector("span:nth-child(2)").textContent);

如果您可以编辑特定的跨度元素,请尝试以下操作:

  • 在第二个 span 元素上设置 ID 属性
  • 使用getElementById来引用元素
  • 然后使用textContent获取文本

 const name = document.getElementById('name').textContent console.log(name)
 <html> <head> </head> <body> <span style="font-size:30px">Name:</span> <span style="font-size:25px;border-radius: 10px;" id="name">John Doe</span> <h1>Stats</h1> <div> <p>info1</p> <p>info2</p> <p><a href="https://link.com">info3</a></p> </div> </body> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM