Почему первый console.log пересчитывает элементы, а второй выдает undefined?
function cutLongText() {
var elem, size, text, show, allText, hide;
elem = document.querySelectorAll('#text');
show = document.getElementById('show');
hide = document.getElementById('hide');
for(var i = 0; i < elem.length; i++) {
text = elem[i].innerHTML;
allText = text;
size = 730;
if (text.length > size) {
text = text.slice(0, size);
}
elem[i].innerHTML = text + '...';
console.log(elem[i])
show.onclick = function () {
console.log(elem[i])
/*elem[i].innerHTML = 'allText';
show.style.display = 'none';
hide.style.display = 'block';*/
};
hide.onclick = function () {
elem[i].innerHTML = text + '...';
show.style.display = 'block';
hide.style.display = 'none';
};
};
};