Использование события DOMNodeInserted
для вызова функции при добавлении нового элемента к родителю:
var arr =[];
$("#test").on("DOMNodeInserted",function() {
//console.log(event.target);
arr.push(event.target);
});
$("#test").append("<div>div1</div>");
$("#test").append("<div>div3</div>");
$("#test").append("<div>div2</div>");
console.log(arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div id="test">
<div>exception</div>
</div>
Сортировать массив:
var arr = [];
$("#test").on("DOMNodeInserted", function() {
//console.log(event.target);
arr.push(event.target);
arr.sort(function(f, n) {
return $(f).text().replace(/div(\d+)$/, "$1") - $(n).text().replace(/div(\d+)$/, "$1");
});
});
$("#test").append("<div>div1</div>");
$("#test").append("<div>div3</div>");
$("#test").append("<div>div2</div>");
console.log(arr); //sorted array contains object HTMLDivElement(s)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div id="test">
</div>
Сравнить textContent элементов div в функции