代码之家  ›  专栏  ›  技术社区  ›  Mike Wills

如何确定jQuery中id的路径?

  •  1
  • Mike Wills  · 技术社区  · 14 年前

    学习jQuery最大的问题是如何获得文档中特定元素、id或类的路径?我已经安装了Firebug和Firebug jQuery扩展,但是我没有看到确定完整路径的方法。n00b有什么建议吗?

    6 回复  |  直到 14 年前
        1
  •  1
  •   MatTheCat    14 年前

    我认为使用一个独特的JQuery函数是不可能的。。。我发现 this .

        2
  •  1
  •   justkt    14 年前

    如果您已经编写了有效的HTML,那么您只需要ID本身(元素ID属性中的部分)。如果您的id是“myID1”,那么您需要的jQuery选择器是 $("#myID1") 假设你正在使用 $ 对于jQuery。

    如果要遍历DOM树以获取不带ID的元素,请查看 child selector ,和 nth-child selector ,函数 .children() ,和 :parent 选择器 .parents() 函数,以及 .parent() 功能。所有这些都有助于DOM traversal .

        3
  •  1
  •   Yi Jiang G-Man    14 年前

    好吧,如果您使用的是Firebug,那么您可以在检查任何元素时简单地查看它。

    alt text

    但这通常用于其他事情,如果用作jQuery选择器,则使用整个事情既效率低下,也不推荐使用。

        4
  •  1
  •   aptwebapps    14 年前

    你是说你想一路了解父母吗?看看 this this .

        5
  •  1
  •   Blowsie Mathias Bynens    14 年前

    如果您只需要您希望附加jquery的elemnt的路径,那么在检查之后,您将在firebug面板中找到它作为breadcrumb。

        6
  •  1
  •   BenMorel Sonaten    11 年前

    您需要设置一个自定义函数来使用.parent()和.parent s()函数遍历元素的父元素。以下是一些信息:

    http://api.jquery.com/parent/

    http://api.jquery.com/parents/

    您可以运行一个简单的脚本来检查是否存在并将其输出到数组或其他类型的变量。

    伪代码:

    function traverse_path(elementId) {
      if($('#' + elementId).parent()) {
        traverse_path($('#' + elementId).parent().attr('id'));
        return $('#' + elementId).parent().attr('id') + ' > ';
      } else {
        return null;
      }
    }