개발 중에 제가 겪은 일은 다음과 같습니다.
1. 테이블에서 행을 동적으로 삭제합니다.
table: 테이블 객체를 나타냅니다.
k: 줄 번호를 나타냅니다.
table.rows[k].removeNode(true); //firefox 실행 실패, 즉 실행 성공
IE 및 FireFox 호환 쓰기 방식
table.deleteRow(k);
2. HTML 태그의 속성을 사용자 정의합니다.
inputElement: 양식 요소를 나타냅니다.
propertyName: 양식 요소 아래의 속성을 나타냅니다.
inputElement.propertyName; //firefox 실행 실패, 즉 실행 성공
IE 및 FireFox 호환 쓰기 방식
document.getElementById("txtInput").attributes["idvalue"].nodeValue
3. 지정된 위치에 HTML 요소를 삽입합니다.
inputElement: 양식 요소를 나타냅니다.
vDiv: 삽입할 HTML 요소를 나타냅니다.
inputElement.insertAdjacentElement("AfterEnd",vDiv);//firefox 실행 실패, 즉 실행 성공
IE 및 FireFox 호환 쓰기 방식
Firefox에는 이 메소드에 대한 정의가 없으므로 이 메소드를 호출해야 하는 경우 직접 재정의해야 합니다.
다음과 같이 코드 코드를 복사합니다.
//firefox에는 그러한 메소드가 없으므로 insertAdjacentElement() 메소드를 다시 작성하십시오.
HTMLElement.prototype.insertAdjacentElement=함수(where,parsedNode){
스위치(어디){
"BeginBegin"의 경우:
this.parentNode.insertBefore(parsedNode,this);
부서지다;
사례 "afterBegin":
this.insertBefore(parsedNode,this.firstChild);
부서지다;
사례 "beforeEnd":
this.appendChild(parsedNode);
부서지다;
케이스 "afterEnd":
if(this.nextSibling)
this.parentNode.insertBefore(parsedNode,this.nextSibling);
또 다른
this.parentNode.appendChild(parsedNode);
부서지다;
}
}
4. break 문이 유효하지 않습니다.
IE에서 for 루프 문을 실행할 때 break를 사용하여 현재 루프에서 벗어날 수 있습니다. 그러나 FF에서는 전체 루프를 종료하게 됩니다. 이때 대신 continue 문을 사용하세요.
5. Firefox에서 문자열에 잘못된 문자가 포함되어 있다고 보고합니다.
var chkBox=document.createElement('<input type="Checkbox" name="treeBox" value= '+key+''>') //IE에서 성공적으로 실행되었습니다.
IE 및 FireFox 호환 쓰기 방식
Firefox는 createElement를 정의하는 이 방법을 지원하지 않으며 단계별로 수행해야 합니다.
다음과 같이 코드 코드를 복사합니다.
var chkBox = document.createElement('input');
chkBox.name = "트리박스";
chkBox.type = "체크박스";
chkBox.value = 키;
6. 테이블 객체(테이블 행) 객체의 모음
bdList.rows(k).cells(0).innerHTML = "<a>aaa</a>";//firefox 실행 실패, 즉 실행 성공
IE 및 FireFox 호환 쓰기 방식
다음과 같이 코드 코드를 복사합니다.
bdList.rows[k].cells[0].innerHTML = "<a>aaa</a>";
7. Firefox에서 JS의 getYear() 메소드 관련 문제
var today = 새 날짜();
var year = today.getYear();
Firefox에서 getYear는 IE에서 "현재 연도-1900" 값을 반환합니다.
오늘의 연도가 2000년 미만이면 Firefox와 동일합니다. 따라서 getFullYear getUTCFulYear를 사용하여 호출하는 것이 가장 좋습니다.
IE 및 FireFox 호환 쓰기 방식
다음과 같이 코드 코드를 복사합니다.
var today = 새 날짜();
var year = today.getFullYear();