문제

문제 IE 브라우저를 사용하여 OUTERHTML에 직면합니다

내가 말하면 :

txt="Update Complete!";
msg = sub.appendChild(d.createElement("p"));
msg.outerHTML = txt;

잘 작동합니다 :

하지만 내가 말하면

txt="1 Error:<ul><li>Some Error</li></ul>";
msg = sub.appendChild(d.createElement("p"));
msg.outerHTML = txt;

나에게 오류를 준다 :

Message: Unknown runtime error
Line: 389
Char: 4
Code: 0
URI: http://10.1.1.16/schedule_calendar/js/validate.js

줄 : 389는 "msg.outerhtml = txt;"와 관련이 있습니다.

누구든지 이것을 도와 줄 수 있습니까 .. 미리 감사드립니다.

도움이 되었습니까?

해결책

어떤 이유로 나는 모르겠다. 대부분의 경우 outerhtml을 수정하는 것은 허용되지 않습니다. 나는 요소의 eoterhtml을 수정할 때 실제로 현재 요소를 교체하기 때문에 이것은 추측하고 있습니다.

IMO, outerhtml을 수정하는 것보다 요소를 교체하는 것이 더 안전합니다.

귀하의 경우에는 아마도 충분할 것입니다.

여기에 업데이트 :

<html>
<head><title>Test</title></head>
<body>
<div>
    some content...
    <div id="sub"></div>
</div>
<script type="text/javascript">
window.onload = function(){
    var sub = document.getElementById('sub');
    var txt="<p>Update Complete!</p>";
    sub.innerHTML = txt;

    alert('test 1');

    txt="1 Error:<ul><li>Some Error</li></ul>";
    sub.innerHTML = txt;
}
</script>
</body>
</html>

다른 팁

달성하려는 코드는 무엇입니까? 두 경우 모두 :

  1. 새로운 것을 만듭니다 p 요소
  2. 추가하십시오 p 요소 sub (내가 생각하는 것은 요소 자체도 마찬가지입니다)
  3. 설정 outerHTMLp 일부 텍스트에 요소.

당신은 마찬가지로 할 수 있습니다.

  1. 원하는 텍스트 데이터로 새 텍스트 노드를 만듭니다
  2. 그것을 추가하십시오 sub의 어린이 :

    sub.appendChild(document.createTextNode("Update Complete!"));

또는 if sub 어쨌든 비어 있습니다.

sub.innerHTML = "Update Complete!";
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top