Получить идентификатор элемента из пути 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;
}
}
}
Как вы можете видеть, я начал с коммутатора, но это будет вечная запись кода.
Любая идея?