회사에서 jquery를 이용해서 버튼을 만드는 작업을 했다.
<span class="buttonDelete"><i class="fa fa-trash"></i>
시작 태그는 있으나 끝 태그가 없는데 오류가 나지 않았다.
오류가 안나니 끝 태그가 없는 줄도 몰랐다.
그럼 왜 끝 태그가 없어도 오류가 안나는 걸까?
HTML에서 태그는 일반적으로 시작 태그와 끝 태그를 함께 사용한다. 하지만 시작 태그만 있는 <span>
요소도 올바른 HTML 문법으로 인식될 수 있다. 이는 HTML 문법의 유연성 때문이다.
HTML은 SGML(Standard Generalized Markup Language)에서 파생된 마크업 언어로, SGML의 일부인 HTML DTD(Document Type Definition)에 따라 문서가 유효한지 판별된다. 이 DTD에는 요소가 반드시 끝 태그를 가져야 한다는 규칙이 명시되어 있지만, 이 규칙을 무시하는 브라우저들이 존재하기 때문에 오류가 발생하지 않을 수 있다.
하지만 시작 태그만 있고 끝 태그가 없는 코드는 가독성이 나쁘고, 유지보수하기 어렵다.
따라서 HTML 문서를 작성할 때는 가독성과 유지보수성을 고려하여 가능한 모든 요소에 대해 시작 태그와 끝 태그를 함께 작성하는 것이 좋다.