在javascript函数中返回DOM
我试图编写一个javascript函数来解析DOM树的一部分,并返回其中的一部分进行进一步解析。尽管单步执行函数似乎工作正常,但函数的返回在调用语句中显示为未定义。有办法解决这个问题吗在javascript函数中返回DOM,javascript,jquery,dom,Javascript,Jquery,Dom,我试图编写一个javascript函数来解析DOM树的一部分,并返回其中的一部分进行进一步解析。尽管单步执行函数似乎工作正常,但函数的返回在调用语句中显示为未定义。有办法解决这个问题吗 from = entityfromid($(value)[0].getElementsByTagName("O1")[0].childNodes[0].childNodes[0].nodeValue).getElementsByTagName("Name")[0].childNodes[0].nodeValue;
from = entityfromid($(value)[0].getElementsByTagName("O1")[0].childNodes[0].childNodes[0].nodeValue).getElementsByTagName("Name")[0].childNodes[0].nodeValue;
function entityfromid(id) {
$($(xmlDoc)[0].getElementsByTagName("Entities")[0].childNodes).each(function (index, value) {
if(value.getElementsByTagName('Id')[0].childNodes[0].nodeValue == id) {
return value;
}
});
}
您需要从
.each()
中提取return
语句,而不是从entityfromid
函数返回
function entityfromid(id) {
var ret_value;
$($(xmlDoc)[0].getElementsByTagName("Entities")[0].childNodes).each(function (index, value) {
if(value.getElementsByTagName('Id')[0].childNodes[0].nodeValue == id) {
ret_value = value;
return false;
}
});
return ret_value;
}
在这里,当找到结果时,它将设置ret_value
变量的值,并执行返回false
,从而打破循环
然后
ret\u值
用于函数中的返回
。您需要从.each()
中提取返回
语句,而不是从entityfromid
函数中返回
function entityfromid(id) {
var ret_value;
$($(xmlDoc)[0].getElementsByTagName("Entities")[0].childNodes).each(function (index, value) {
if(value.getElementsByTagName('Id')[0].childNodes[0].nodeValue == id) {
ret_value = value;
return false;
}
});
return ret_value;
}
在这里,当找到结果时,它将设置ret_value
变量的值,并执行返回false
,从而打破循环
然后
ret\u值
用于函数的返回
。请发布您的实际代码。请发布您的实际代码。谢谢!没想到从那里返回会导致它不能正确地从函数返回。谢谢!没有料到从那里返回会导致它不能正确地从函数返回。
function entityfromid(id) {
var ret_value;
$($(xmlDoc)[0].getElementsByTagName("Entities")[0].childNodes).each(function (index, value) {
if(value.getElementsByTagName('Id')[0].childNodes[0].nodeValue == id) {
ret_value = value;
return false;
}
});
return ret_value;
}