Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中从XML加载树状结构中获取遍历路径_Javascript_Jquery_Html - Fatal编程技术网

如何在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) );
});

看到它在这里工作了吗:

您使用的代码是什么?还有,你试过什么?我已经更新了代码。你用的代码是什么?还有,你尝试了什么?我已经更新了代码。今天帮了我谢谢!今天帮了我,谢谢!