<script>
function createErrorCodeElement () { // error-log 라는 클래스 생성 및 스타일 지정
let newP = document.createElement('p')
const tiv = document.querySelector('.div')
tiv.appendChild(newP)
newP.classList.add('error-log')
newP.innerHTML = '유효한 내용을 입력해주세요'
newP.style.color = 'red'
newP.style.fontSize = '12px'
RemoveErrorCodeElement() // 끝난 뒤 함수 호출
}
function RemoveErrorCodeElement () { // 3초 뒤 엘리먼트 삭제
setTimeout(function () { // 인스턴스 함수로 설정
let errorLogElement = document.querySelector('.error-log')
if ( errorLogElement )
errorLogElement.remove()
}, 3000) // 시간 설정
}
</script>
해석해보자면, p 태그를 div 태그 내에 특정 이벤트로 지정해놓고( onsubmit 의 조건 같은 걸로 ),
해당 이벤트 함수가 호출되었다면 CreateErrorCodeElement가 실행되어 요소를 생성한 뒤,
RemoveErrorCodeElement가 호출되어 3초로 설정된 setTimeout() 를 통해 인스턴스 함수로 생성한 요소를 제거 하는 겁니다.
☆ 저는 이 방법이 무한하게 반복 될 줄 알았건만, 안되더군요. 그래서 할 수 없이 미리 style을 지정해놓고 조건에 따라 className을 변경하는 것으로 변경하려고 합니다.