2011-06-14 4 views
0

IE9에서 작동하도록 코드를 작성하는 데 심각한 문제가 있습니다. Chrome & Firefox에서 제대로 작동하지만 일부 오류가 발생합니다. 여기 내 2 개 기능은 다음과 같습니다IE9, Javascript : 새 요소를 만들고 추가하십시오.

나는이에 대한 severel 방법을 시도했습니다

과 없음, 나는 내가 할 필요가 정확히 무엇을 설명 할 것이다 제대로 작동 ...

... 내가 필요 html 문자열에서 새 요소를 작성하면 문자열은 Ajax 호출에서 다시 전송되므로 내 스크립트는 그것이 얻어 질 때까지 무엇이 들어 있는지 거의 알지 못합니다.

element.innerHTML을 사용해 보았습니다. 화면에 하나의 html 요소 (양식)가 있고 사용자가 데이터를 입력하면 다른 요소가 삽입되면 모든 요소가 지워지므로 좋지 않습니다. 첫 번째 양식의 사용자 입력 데이터 나는 element.innerHTML + = newData를하고 있었다.

그래서 기본적으로, 나는이 일을해야

1) HTML 문자열에서 새 요소를 만드는 방법. 2) 요소를 문서 본문에 추가하는 방법.

모두 크로스 브라우저에서 작동해야하며 jQuery를 사용할 수 없으며 새로운 요소를 div 상위 항목에 포함 할 수 없으며 본문을 상위 항목으로 가져야합니다. 당신의 도움을 주셔서 대단히

감사합니다,

리처드

답변

0

innerHTML을 쓰기를 읽어와 DIV 내부 내용이 모두 지워집니다. 극도의주의와 함께 사용

function insertHTML(htmlString){ 
    var bodEle = document.getElementsByTagName('body'); 
    var divEle = createElement("div"); 
    divEle.innerHTML = htmlString; 
    bodEle.appendChild(divEle); 
} 
+0

이 그것을 할 수 없습니다 죄송합니다, IE9가 제공하는 정확한 오류는 오류 : 재산 'cloneNode'의 값을 가져올 수 없습니다 : 개체가 null이거나 정의입니다 ... 그래서 문제 createElement 함수를 사용합니다. –

+0

당신은 createElement()라는 함수를 가지고 있습니다 ... which coincally ...는 JavaScript 함수의 이름입니다. 문제를 일으킬 수있는 함수의 이름을 변경해보십시오. –

+0

... getElementsById ("")에서 작은 따옴표를 사용하지 마십시오. 큰 따옴표를 사용하십시오. –

관련 문제