Задать вопрос
@newaitix

Как узнать номер элемента в DOM?

Я создаю элемент.
Я не назначаю ему ни id ни class, не назначаю ему каких либо опознавательных знаков.
Затем я выбираю все элементы
var elem=document.createElement("div");
//тут я хочу узнать и запомнить какой номер у моего элемента
var all=document.getElementsByTagName('*');
//и выбрать его all[125]

Но для этого мне нужно перебирать все элементы по новой
for(var i=0; i<all.length; i++){
if(all[i]==elem){
console.log('Искомый элемент найден под номером '+i);
break;
}
}

Проблема заключается в том чтобы потом найти этот элемент среди абсолютно таких же идентичных, пустых элементов.
Могу ли я узнать номер элемента сразу при создании не прибегая к перебору? Пока что я нашел его только в ручную или перебором.
  • Вопрос задан
  • 4121 просмотр
Подписаться 1 Оценить 6 комментариев
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
function getElementIndex(elem) {
    elem = elem.tagName ? elem : document.querySelector(elem) // можно добавить еще проверок
    return [].indexOf.call(elem.parentNode.children, elem)
}


Демо jsfiddle.net/ywfoheah
Ответ написан
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
  • getElementsBy... это живая выборка и она включает в себя только те элементы, которые добавлены в DOM.
  • Что за бред?
  • Нету тега *.
  • Что за бред?
  • Покажите полный код или опишите задачу целиком.
  • Что за бред?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы