2015-09-02 3 views
0

У меня есть элемент сворачивания, и я хочу, чтобы всякий раз, когда элемент добавляется к этому элементу, на него вызывается функция javascript. Вызов должен выполняться точно один раз для каждого элемента.Получить последний добавленный элемент элемента

DOMNodeInserted отмечен как устаревший, поэтому я попытался использовать обходной путь here. Подход работает нормально, но в дополнение к элементу, к которому добавилось дополнение (event.target), мне также нужно знать, какой элемент был добавлен.

Должен ли я записывать все элементы, добавленные в мой элемент поворота, а затем сравнивать их после того, как событие произошло для обнаружения новых элементов или есть более простой подход?

ответ

0

Если ваша переменная ссылается на узел, чтобы получить последний добавленный к нему элемент, вы можете использовать свойство lastChild.

var node = document.getElementById("something"); 
var last = node.lastChild; 

last.appendChild(document.createTextNode("I'm the last one...")); 

Альтернативой может быть ChildNodes:

var node = document.getElementById("something"); 

node.childNodes[node.childNodes.length - 1].appendChild(document.createTextNode("I'm the last one...")); 

Для дополнительной справки: https://developer.mozilla.org/en-US/docs/Web/API/Node/lastChild и https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes

Смежные вопросы