>웹 프론트엔드 >JS 튜토리얼 >IE6/7/8의 innerHTML 반환 값만 영어 space_javascript 기술 문제를 무시합니다.

IE6/7/8의 innerHTML 반환 값만 영어 space_javascript 기술 문제를 무시합니다.

WBOY
WBOY원래의
2016-05-16 18:08:201236검색

다음과 같습니다

코드를 복사합니다 코드는 다음과 같습니다.

jack< ;/div>
<script> <br>alert(document.getElementById('user').innerHTML.length); <br></script>


div[id=user]의 "jack" 앞에 영어 공백이 두 개 있습니다. 각 브라우저의 결과는 다음과 같습니다

IE6/7/8: 4가 나타납니다. , 공백은 무시됩니다

IE9/Firefox/Safari/Chrome/Opera: 6이 나타납니다. 즉, 공백

은 무시되지 않습니다. 중국어 공백으로 변경해도 이 문제가 발생하지 않습니다.

다음은 Gray Zhang의 추가 내용입니다.
1. IE6-8에서 요소의 firstChild가 TextNode이고 nodeValue의 처음 n 문자가 공백 문자(공백, , , 및 페이지 나누기 기호 U 000C), 이 n 문자는 무시됩니다
2. IE6-8에서 요소의 lastChild에 대해 TextNode이고 nodeValue의 마지막 n 문자가 공백 문자(공백 포함)인 경우 , , , 및 페이지 나누기 기호 U 000C), 이 n 문자는 공백(ASCII 코드는 32)으로 결합됩니다. t이든 n이든 공백이 됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.