使用JS在源代码中搜索内容的首选方法是什么?

时间:2013-06-23 13:29:01

标签: javascript html comments

我的页面底部有一个JavaScript声明,只有在某个HTML评论可用时才会触发

<!-- mytriggercomment -->

在上面的示例中,如果在当前页面中检测到mytriggercomment,则只有JavaScript语句才会触发。这样做的首选方式是什么?

1 个答案:

答案 0 :(得分:1)

可能不适用于较旧的浏览器,但这种方式是逻辑DOM方法:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
<script>
window.onload = function () {
   var treeWalker = document.createTreeWalker(
      document,
      NodeFilter.SHOW_COMMENT,
      {acceptNode: function(node) {
          if (node.nodeValue.trim() === 'mytriggercomment') {
              return NodeFilter.FILTER_ACCEPT;
          }
      }}
    );
    var nodeList = [];

    while(treeWalker.nextNode()) nodeList.push(treeWalker.currentNode);

    alert(nodeList)
};
</script></head>
<body>
</body>
</html>
<!-- mytriggercomment -->

如果您知道它始终位于底部,您可以将其定位为:

window.onload = function () {

    alert(document.documentElement.nextSibling && 
        document.documentElement.nextSibling.nodeValue.trim() === 'mytriggercomment')

};