请教关于js中迭代的问题

问题描述

我想取给定节点的子节点中已知id的目标节点。代码如下,但是当迭代找到目标节点后return不出来,而必须等待迭代结束。code:... <div id="div"> <pre> <div class="src"> <pre><div class="src"> <dl id="L1"> 1 </dl> <span class="comment"> </span> <dl id="L8"> 8 </dl> <dl id="L9"> 9 </dl> <span class="type">int</span> NeedXbridgeSwap = 0; <dl id="L10"> 10 </dl> <dl id="L11"> 11 </dl> <span class="directive">#include</span> <linux/types.h> <dl id="L12"> 12 </dl> </div> </pre> </div> </pre> </div> <div> <input type="button" value="find" onclick="getNode();"> </div></body></html><script>var result;function getNode(){ var node = document.getElementById("div"); alert(findAimNode(node, 'L8').id);} function findAimNode(node, aimId){ if(node.id == aimId){ return node; }else{ var children = node.childNodes; for(var i =0;i<children.length; i++){ if(children[i].nodeType != 1) continue; else findAimNode(children[i], aimId); } } }</script>

解决方案

你的这个方法findAimNode有问题,这样改不知道是不是你要的意思?(没有测试过)function findAimNode(node, aimId){ if(node.id == aimId){ return node; } var children = node.childNodes; for(var i =0;i<children.length; i++){ if(children[i].nodeType != 1) continue; else node = findAimNode(children[i], aimId); if(node.id == aimId){ return node; } } }

时间: 2024-11-10 00:49:28

请教关于js中迭代的问题的相关文章

javascript-请教有关JS中变量的问题

问题描述 请教有关JS中变量的问题 举个栗子: window.onload=function(){ var a=1; var b=2; plus(a,b); function plus(a,b){ a=a+b; b=0; //此时在这个函数内还能调用到父函数中的a=1,b=2吗? } } 解决方案 这个问题是两种不同变量在作为参数传递的问题,JS传递变量分为两种一种是基础变量,传递的是变量内容,第二种是引用变量(对象),在函数中传递的指向对象的指针,楼主这个函数传递的是基础变量,所以在子作用域中

网页-js中body里能用this来代替吗

问题描述 js中body里能用this来代替吗 <!DOCTYPE html> star function init(obj){ obj.bgColor= "black";//这行为什么不能改变网页背景颜色.this不是代表body对象吗. // alert(123); //var obj=document.getElementById("b1"); 这样就可以获得body对象,能更改网页背景颜色. //obj.bgColor= "black&

mysql-在Mysql(或者在js中)构建完整查询结果数组

问题描述 在Mysql(或者在js中)构建完整查询结果数组 是这样子的,我想实现从Mysql中查询结果之后调用给js的highchart画图用 现在我通过mysql的 类似select 数量,月份,状态 from table group by 月份,状态,结果如下: 数量 月份 状态 3 1月 成功 5 1月 失败 3 2月 成功 7 4月 失败 原本我想通过json化之后返回给前台画图. 但很显然,我用highchart画图的时候,需要一整年的数据,即如果某个月份,或者状态没有,这一个数量就必

js中通过ajax无法获取json文件中的数据

问题描述 js中通过ajax无法获取json文件中的数据 在下小白,最近在学习js 就写了一段很简单的代码 但是发现居然还有问题 就是一个很简单的index-test.html页面中有一段js代码,里面用了ajax获取在同一目录下的 json文件中的数据,然后测试一下,但是运行发现没有结果 又不太会用浏览器调试 所以请教各位大侠 多谢多谢! 部署完项目 开启服务器后 在浏览器中输入URL,点击按钮 毫无反应... 多谢大家! 解决方案 ajax获取json格式数据js读取json文件片段中的数据

javascript for循环-js 中for循环成为死循环

问题描述 js 中for循环成为死循环 下面两个代码,通过 main去循环调用 testfor函数,当main中的i>=6的时候,一直死循环,不断地) alert 出 "i=6 , true" ,刚刚接触JavaScript,请教了~ function testfor(x){ for (i=0;i<5;i++){ alert(i); if(i==x) { return false; } } return true; } function main(){ for (i=3;i

急请教web开发中遇到的图片预览问题

问题描述 急请教web开发中遇到的图片预览问题问题:当一个file在网页上选择了本地的一张图片后,要求在网页上浏览一下<inputid="FilePhoto"type="file"runat="server"onpropertychange="GetMyView();"/>这是那个file<inputtype="Image"ID="ImgStudentPhoto"Hei

js中与变量相关的一些知识

来补充一点上一篇文章 js变量初探 中漏掉的知识点: 1.变量的定义与声明中常见问题: (1)用var关键字声明的变量,未经初始化时,保存的是一个特殊的值-undefined,变量初始化仅仅是给变量赋一个值 (2)当使用var关键字声明了一个变量时,创建的这个变量是不可配置的,也就是说这个变量无法通过delete运算符删除:在严格模式下,使用delete运算符删除var关键字声明的变量会导致SyntaxError. (3)省略var关键字会导致定义一个全局变量,但是不推荐这种做法.在严格模式下,

在js中加html注释的作用?

问题描述 在js中加html注释的作用? <!-- function getStringLength(str){ var num=0; if (str!=""){ var i; var s; for(i=0;i<str.length;i++){ s=str.charCodeAt(i); if(s-128<0) num=num+1; else num=num+2; } } return num; } //--> 解决方案 就是说这些代码本来应该删除,但是这个程序员

js中的函数function

    js的function对象在调用过程中具有一个arguments的属性,它是由脚本解释器创建的(这也是arguments创建的唯一方式).arguments属性可以看作是一个Array对象,它有length属性,可以通过序号访问每一个参数,而且通过argument的callee属性可以获取对正在执行的Function对象的引用.如下: function factorial(n){ if(n<=n){ return 1; }else{ return n*arguments.callee(n