【问题标题】:Traverse and return html tags in javascript在javascript中遍历并返回html标签
【发布时间】:2014-05-16 13:10:38
【问题描述】:

假设我有这个 HTML 代码:

<div>
    <h2>You know, I am a Heading!</h2>
    <ul>
        <li>I am the first li</li>
        <li>I am the second li</li>
        <li>I am the third li</li>
    </ul>
</div>

<button onclick="go()" style="width:100px">Go!</button>

按下“Go!”按钮,将调用 JavaScript 来返回 DOM 的节点元素。

<script>     
function go() {
  var childNodes = document.body.childNodes;
  for(var i=0; i<childNodes.length; i++) {
    var domElement = childNodes[i];
            doSomethingWithTheReturnedTag(); 
  }
}
</script>

我真正想做的是,当单击按钮时,我的脚本会遍历整个 HTML 文档并获取每个标签并对返回的标签执行操作。

如果可能的话,只需要建议或者有更好的方法吗?

提前致谢!

【问题讨论】:

  • var nodes = document.querySelectorAll('*');

标签: javascript jquery dom html-parsing


【解决方案1】:

循环遍历所有 DOM 元素:

  <script>     
    function go() {
    var items = startElem.getElementsByTagName("*");
    for (var i = items.length; i--;) {
       //perform operation on elment
    }
    }
 </script>

【讨论】:

  • 这很好用,但是它返回给我的是 DOM 元素的对象值。例如,对于
      ,它将返回 [object HTMLUListElement]。我可以将其转换为正确的
        标签吗?
  • 只需使用 items[i].innerHTML,例如:jsfiddle.net/vyUvX
  • 感谢@radia 快速回复。我现在将尝试在我的用例中实现它。
猜你喜欢
  • 2023-03-17
  • 2016-03-19
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 2012-03-10
  • 2020-06-18
  • 2021-10-05
相关资源
最近更新 更多