2012-09-06 3 views
0

IE에서 완벽하게 작동하며 FF와 Chrome에서 완벽하게 작동하기 때문에이 2 코드를 1로 병합하려고 2 일 동안 노력하고 있습니다. 그래서 어떻게 그들을 1로 병합 할 수 있습니까? 이 IE에서 작동되는 코드는 아니지만 FF에서 :자바 스크립트 코드가 올바르게 작동하지 않습니다.

....

 if (i < rowCount - 1) { 
      detRez += dataTable.rows[i].cells[1].firstChild.value + "^"; 
      detRez += dataTable.rows[i].cells[2].firstChild.value + "%"; 
      //This working with FF 
      //detRez += dataTable.rows[i].cells[1].childNodes[1].value + "^"; 
      //detRez += dataTable.rows[i].cells[2].childNodes[1].value + "%"; 
     } 
     else { 
      detRez += dataTable.rows[i].cells[1].firstChild.value + "^"; 
      detRez += dataTable.rows[i].cells[2].firstChild.value; 
       //This working with FF 
       //detRez += dataTable.rows[i].cells[1].childNodes[1].value + "^"; 
       //detRez += dataTable.rows[i].cells[2].childNodes[1].value; 

      } 
      } 
..... 

FF에서 작동하지만 하나가 아닌 IE는이에 // 라인

앞에

FF로 오류가 발생하지 않습니다 (IE 코드를 테스트하는 경우). 문자열이 올바르게 빌드되지 않고 다음과 같이 표시됩니다. undefined^undefined % undefined^MyText 대신 정의되지 않음^.....

IE와 FF 모두에서 작동하도록 두 코드를 병합하는 방법에 대한 아이디어가 있으십니까? 미리 감사드립니다.

답변

2

Firefox와 Internet Explorer는 자식 노드를 다르게 처리합니다. Firefox는 DOM 호환 모드를 사용하며 태그 사이의 간격 등을 계산합니다. Internet Explorer는 일부만 계산합니다 (따라서 둘 사이의 불일치).

childNodes[] 대신 getElementsByTagName()을 사용해야합니다.

+0

감사합니다. 그것은 효과가있다! –

+0

문제 없습니다. 이 문제는 너무 오래 전에 나를 잡았습니다. – Ren

관련 문제