sh()
переопределяете для каждой статьи заново – остаётся последний вариант.display:none
У вас это text__podzigilovol
. id
управляемой статьи в data-атрибуте: data-id="info-2"
– так кнопка будет «знать», кем она управляет.javascript:...
, вместо этого лучше на них повесить слушателя события клика. Удобно дать всем кнопкам определённый класс, по нему их отыскать и в цикле повесить слушателя события.this
кликнутую ссылку. Из неё берёт data-атрибут с id
нужного блока. И включает/выключает ему класс, который прячет этот блок.function sh(event) {
const className = "text__podzigilovol";
event.preventDefault();
obj = document.getElementById(this.dataset.id);
if(!obj) return;
if( obj.classList.contains(className)) {
obj.classList.remove(className);
} else {
obj.classList.add(className);
}
}
Array.prototype.forEach.call(
document.querySelectorAll('.js-btn-readmore'),
function(e){
e.addEventListener('click', sh);
}
);