2011-11-18 2 views

답변

0

innerHTML 속성의 동작은 표준화되지 않았습니다 (HTML5에서는 일부 시도가 있지만). 그것은 다른 브라우저에서 다르게 구현됩니다.

1

... 알 수 있습니다. 요소의 innerHTML을 1로 설정하고 innerHTML 앞에 숫자를 붙이면 여는 태그를 제거하는 이유가 궁금합니다 ...

덜 html5 태그를 지원하지 않는 IE는 이상하게 작동합니다. 이 경우에는 두 번째 경우를 문자열로 해석 할 가능성이 높습니다. 첫 번째 경우에는 유효하지 않은 태그로보고 단순한 오류가 발생합니다.

abc{ 
    display:block; 
} 

:

$('#some_element').html('<abc>1</abc>'); // equal to document.getElementById('some_element').innerHTML = '<abc>1</abc>'; 

(function(){if(!/*@[email protected]*/0)return;var e = "abc,other_custom_tags".split(',');for(var i=0;i<e.length;i++){document.createElement(e[i])}})(); // add the custom tag 

var elem = $('<abc>'); 
elem.html('1'); 
$('#some_element').html(elem); 

을 시도하고 당신의 CSS를 유효한 태그로 ABC를 선언하는 대신

같은 일을의 - 당신이 jQuery를 사용하는 경우

이 시도 물론, 이것은 abc가 귀하의 사이트에서 사용되는 태그라는 것을 알고 있다고 가정합니다. 잠재적 인 태그가 알려지지 않은 경우이 태그는별로 유용하지 않을 수 있습니다.

관련 문제