如何在Javascript中从XML加载树状结构中获取遍历路径
我有一个树形结构,如下所示 当我通过父对象到子对象时,我希望完整路径如下所示: 化学->物理化学->粒子理论->单击特定节点的粒子理论。 当我们返回或单击物理化学时,路径将返回如下: 化学->物理化学 我们怎么能做到呢。 我正在使用以下函数如何在Javascript中从XML加载树状结构中获取遍历路径,javascript,jquery,html,Javascript,Jquery,Html,我有一个树形结构,如下所示 当我通过父对象到子对象时,我希望完整路径如下所示: 化学->物理化学->粒子理论->单击特定节点的粒子理论。 当我们返回或单击物理化学时,路径将返回如下: 化学->物理化学 我们怎么能做到呢。 我正在使用以下函数 function getParents(id) { var parents = $("#" + id).parents("ul"); var selector = ""; for (var i = parents.length-1; i &g
function getParents(id)
{
var parents = $("#" + id).parents("ul");
var selector = "";
for (var i = parents.length-1; i >= 0; i--) {
//alert($(parents[i]).find('li').find('span').find('a').html());
selector += $(parents[i]).find('li').parent().find('span').find('a').html() + " > ";
}
//selector += "#" + id;
$('#breadcrumbs').html(selector);
//return selector;
}
function getBreadcrumbs(a) {
var path = $(a).text(),
$parent = $(a).parents("li").eq(1).find("a:first");
if ($parent.length == 1) {
path = getBreadcrumbs($parent) + " > " + path;
}
return path;
}
$("ul a").click(function () {
$("#breadcrumbs").text( getBreadcrumbs(this) );
});
但它走错了方向。这是递归函数的一个主要示例
function getParents(id)
{
var parents = $("#" + id).parents("ul");
var selector = "";
for (var i = parents.length-1; i >= 0; i--) {
//alert($(parents[i]).find('li').find('span').find('a').html());
selector += $(parents[i]).find('li').parent().find('span').find('a').html() + " > ";
}
//selector += "#" + id;
$('#breadcrumbs').html(selector);
//return selector;
}
function getBreadcrumbs(a) {
var path = $(a).text(),
$parent = $(a).parents("li").eq(1).find("a:first");
if ($parent.length == 1) {
path = getBreadcrumbs($parent) + " > " + path;
}
return path;
}
$("ul a").click(function () {
$("#breadcrumbs").text( getBreadcrumbs(this) );
});
请看这里的工作:这是递归函数的一个主要示例
function getParents(id)
{
var parents = $("#" + id).parents("ul");
var selector = "";
for (var i = parents.length-1; i >= 0; i--) {
//alert($(parents[i]).find('li').find('span').find('a').html());
selector += $(parents[i]).find('li').parent().find('span').find('a').html() + " > ";
}
//selector += "#" + id;
$('#breadcrumbs').html(selector);
//return selector;
}
function getBreadcrumbs(a) {
var path = $(a).text(),
$parent = $(a).parents("li").eq(1).find("a:first");
if ($parent.length == 1) {
path = getBreadcrumbs($parent) + " > " + path;
}
return path;
}
$("ul a").click(function () {
$("#breadcrumbs").text( getBreadcrumbs(this) );
});
看到它在这里工作了吗:您使用的代码是什么?还有,你试过什么?我已经更新了代码。你用的代码是什么?还有,你尝试了什么?我已经更新了代码。今天帮了我谢谢!今天帮了我,谢谢!