DynkanMaclaud,
Зачем DOM элемент в массиве хранить? А если со страницы удалить элемент? Я так понимаю, что утечка памяти - не единственное следствие. Обработчики остаются в памяти и продолжают работать.
<div>123</div>
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script>
function makeHTML(el) {
var mas=[];
var i=0;
for (;i < el.length; i++) {
$('body').append('<button onclick="start(elem, '+i+')">Моя кнопка</button>');
mas.push(el[i]);
};
return mas;
};
function start(el,index) {
alert(el[index].innerHTML);
};
var elem = makeHTML( $('div'));
$('div').remove(); //123
</script>