HTML源代码获取两个被评论的html标签之间的元素?

时间:2016-08-30 19:53:01

标签: javascript jquery html

我试图用javascript检查两个html标签之间是否存在一个div?请参阅以下示例:



<html>
  <body>
    <div>.....</div>
    <h1>.....</h1>
    <table>
      <tr>
        <td>
          <!-- #html# -->
          Get these Value
          <!-- #/html# -->
          <td>
      </tr>
    </table>
    <!-- #html# -->
          ....
    <!-- #/html# -->
  </body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我正在使用ES6,但您可以通过childNodes上的经典迭代来实现它。

var res = [], isInside = false;

for (var node of document.body.childNodes) {
  if (node.nodeType === Node.COMMENT_NODE) {
    if (node.nodeValue.trim() === "<html>") {
      isInside = true;
      continue;
    } else if (node.nodeValue.trim() === "</html>") {
      break;
    }
  }
  
  if (isInside) { // No else - include other comments
    res.push(node);
  }
}

console.log(res);
<!-- <html> -->
    <div>...</div>
<!-- </html> -->