Получить идентификатор элемента из пути DOM

Я много раз видел, как получить путь DOM для элемента с использованием JQuery, но никогда не получалось идти в обратном направлении: как получить элемент из пути DOM?

Предположим, у меня есть путь DOM, такой как "html/body/div1/div2/div2/div3/div3/em"; Я хочу выделить элемент, описанный путем, поэтому мне нужно создать селектор JQuery, который указывает на этот элемент, и тогда я буду свободен использовать некоторые функции для его выделения.

Как я могу это сделать?

На данный момент я попытался создать функцию, которая будет разбивать путь в массиве, а затем циклически повторять его, обрабатывая каждый раз все дочерние узлы, пока не найду нужный мне узел; как вы понимаете, это довольно сложно, особенно потому, что я могу найти КАЖДЫЙ HTML-тег, и я не могу сделать переключение для каждого тега... Я надеюсь, что есть что-то быстрее и проще.

В любом случае, вот что я сделал на данный момент:

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 ответов

Другие вопросы по тегам