브라우저별 innerHTML 차이(2)

1208 단어 innerHTML
다음 코드
 
<p id="tit"></p>
<script>
    var p = document.getElementById('tit');
    var div = document.createElement('div');
    p.appendChild(div);
    try {
        div.innerHTML = "76"
    } catch(e) {
        //IE<9 ERROR
        alert(e)
    }
</script>

 
 
실행 순서는 다음과 같다. 1에 따라 페이지의 단락 요소 P 2를 가져오고 블록급 요소 div 3을 만들고 단락 P에 div를 추가한다. (주: 규범은 P가 블록급 요소를 포함할 수 없음을 지적한다) 4에 HTMLdiv의 inner 값을 부여한다.
 
결과:
IE6/7/8에서 버퍼링이 잘못되었습니다.다른 브라우저는 그렇지 않습니다.
 
첫 번째 편과 마찬가지로 인라인 요소를 만들면 IE6/7/8에서 오류가 발생하지 않습니다.또는 2, 3의 순서를 IE6/7/8로 대조해도 틀림없다.
 
이 문제는 TX의채.에서 발견되었다.
 
관련:
브라우저별 innerHTML 차이점 (1)
IE6/7/8/9에서 innerHTML로 요소를 비우면 하위 요소도 비웁니다

좋은 웹페이지 즐겨찾기