从DOM路径获取元素id

时间:2015-09-09 01:34:58

标签: jquery html dom dom-traversal jquery-traversing

我已多次看到如何使用JQuery获取元素的DOM路径,但从未如何向相反的方向发展:如何从DOM路径获取元素?

假设我有一个DOM路径,如" html / body / div1 / div2 / div2 / div3 / div3 / em&#34 ;;我想突出显示路径描述的元素,所以我需要创建一个指向该元素的JQuery选择器,然后我可以自由地使用一些函数来突出显示它。

我该怎么做?

目前,我尝试构建一个函数,它将分割数组中的路径,然后在其上循环,每次处理所有子节点,直到找到我需要的节点;正如你可能理解的那样,它非常复杂,特别是因为我可以找到每个标签,我不能为每个标签制作一个开关盒...我希望有更快更简单的东西

无论如何,这就是我现在所做的事情:

function reconstructNodes(selectorlist)
{
    var range = $('#panelWithHTML').children();
    var array = selectorlist.split("/");
    for (var i = 0; i < array.length; i++) {

        range = range.children();

        switch (array[i]) {
            case 'html':
                for (var j = 0; j < range.length; j++)
                {
                    if (range[j].tagName === 'BODY') {
                        range = range[j];
                    } 
                }
                break;
            case 'body':
                for (var j = 0; j < range.length; j++)
                {

                }
                break;
        }
    }
}

正如你所看到的,我从开关开始,但它将是一个永恒的代码编写。

有什么想法吗?

0 个答案:

没有答案