<button id="friends" class="btn btn-primary large3">Friends</button>
setInterval(changeFriendBtnSize, 1000);
function changeFriendBtnSize() {
let upDown = 'up';
if (document.getElementById('friends').getElementsByClassName('large3')) {
console.log('111');
document.getElementById('friends').classList.remove('large3');
document.getElementById('friends').classList.add('large4');
} else if (document.getElementById('friends').getElementsByClassName('large4')) {
console.log('222');
document.getElementById('friends').classList.remove('large4');
document.getElementById('friends').classList.add('large3');
}
}
내 콘솔 로그에 1 초 간격으로 111을 반복 기록하지만 222는 기록하지 않습니다. large3 클래스가 제거되고 large4가 추가되지만 다른 방법으로는 사용되지 않습니다. 이유는 무엇입니까?Javascript setInterval 함수의 else 문이 작동하지 않는 이유는 무엇입니까?
이 때'document.getElementById를 ('친구'). getElementsByClassName ('large3')가'falsy 뭔가를 반환하지 쓸 데? 'getElementsByClassName'을 찾아보십시오. –
@ 토라자부로 getElementById는 충분히 빠르며별로 중요하지 않습니다. –