我正在尝试获取所有<h2>标记的innerHTML并将其设置为它们的单独ID,但是我不确定如何处理

时间:2019-12-02 20:48:48

标签: javascript jquery

基本上,我有一堆import numpy as np import cv2 image = cv2.imread('1.png') mask = np.zeros(image.shape, dtype=np.uint8) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1] cnts = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnts = cnts[0] if len(cnts) == 2 else cnts[1] threshold_area = 0.5 for c in cnts: area = cv2.contourArea(c) if area > threshold_area: cv2.drawContours(mask, [c], -1, (36,255,12), -1) cv2.imshow('mask', mask) cv2.waitKey() 标签,在不做详细介绍的情况下,我无法手动为其分配ID。因此,我想我可以使用<h2>以某种方式获取.innerhtml文本并将其分配为它们的ID,但是我不确定如何开始。

这有可能吗?

html看起来像这样:

<h2>

2 个答案:

答案 0 :(得分:0)

正如评论所说,除非确定您要获取元素的HTML内容,否则应避免使用GITHUB_TOKEN-使用innerHTML可以确保仅接收纯文本< / em>


您可以使用innerText来获取HTMLCollection中的所有querySelectorAll元素

然后,您可以简单地循环访问并直接使用以下属性更新属性:

h2

或者您可以像这样使用ele.id = ele.innerText;

setAttribute

您可能还希望在innerHTML之后使用ele.setAttribute('id', ele.innerText); ,只是为了获得更标准的ID样式

.toLowerCase()
document.querySelectorAll('h2').forEach((ele) => {
  ele.id = ele.innerText;
});

console.log(document.getElementById('History').innerText);

答案 1 :(得分:-1)

您将要使用DOM查找所有h2元素并进行相应处理:

<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h2>Science</h2>
    <h2>History</h2>
    <h2>Mathematics</h2>

    <script>
        var h2s = document.querySelectorAll('h2');
        h2s.forEach(function(h2Element) {
          h2Element.id = h2Element.innerText;
        });
      </script>
  </body>
</html>