如何使用“非递归”的方式,从左到右遍历DOM节点?

0 0 javascript html html5
墙扶不起的阿斗
墙扶不起的阿斗

声望值:106 0人

2019-03-08 09:11:42 提问

关注 0关注

收藏 0收藏, 162浏览

如题:

我们有个需求,需要从左到右遍历DOM节点,直到找到符合条件一个node节点,然后停止遍历。
我在网上找了好多,都是递归的方式,无法在找到对应的节点时停止计算。

请问各位大神,这个需求怎么做啊?
多谢

请先 登录 后评论

3个回答

  • MRRobot86声望 2018-09-25 09:25

    用for循环,找到就break跳出循环
    请先 登录 后评论
  • 改名字很伤神107声望 2018-09-25 09:25

    用for循环,找到之后直接return这个符合条件的这个node节点 for(var i=0;i<node;i++){ if(node.children[i].getAttribute('id') === '1234'){ //getAttribute() 方法返回指定属性名的属性值 return node.children[i]; } } 如果你想深层次遍历的话,推荐你看看这篇:DOM遍历节点以及属性
    请先 登录 后评论
  • DPJune128声望 2018-09-25 09:25

    递归可以在找到对应的节点时停止计算啊 加个标记 递归的时候 先判断 如果是true 就return非递归可以用栈 模拟递归你说的是从左到右遍历DOM节点 那我认为是一层一层遍历那你就用个队列啊 每次取出头节点 处理 然后把这个节点的子节点都放入队尾
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问