이것은 xml 파일 작성과 관련이 있습니다. IE의 PreserveWhiteSpace를 true로 설정하고 살펴보세요. 다음은 Microsoft 문서 에서 가져온 코드입니다.
var xmlDoc = new ActiveXObject( " Msxml2.DOMDocument.4.0");
xmlDoc.async = false;
xmlDoc.preserveWhiteSpace =
xmlDoc.load("books.xml");
alert(xmlDoc.xml);
xmlDoc.async = false;
xmlDoc.preserveWhiteSpace = false; xml ");
alert(xmlDoc.xml);
------------
1. 테이블에 행 추가:
document.createElement 및 document.appendChild 메서드를 사용하면 쉽게 테이블에 행을 추가하거나 처음부터 테이블 행이 포함된 새 테이블을 만들 수 있습니다. 테이블을 생성하고 document.appendChild 메소드를 사용하여 테이블 행에 테이블 셀을 추가한 다음 document.appendChild를 사용하여 테이블 행을 테이블에 추가합니다.
IE에서는 tr 요소를 테이블에 직접 추가하는 대신 tbody에 추가할 수 있습니다.
> 이 테이블에 행을 추가하는 올바른 방법은 다음과 같이 테이블 대신 테이블 본문에 행을 추가하는 것입니다.
var cell=document.createElement("td").appendChild ( document.createTextNode("foo");
var row = document.createElement("tr").appendChild(cell)
요소의 클래스 속성을 설정합니다. IE는 현재 브라우저와 다른 유형이지만 해결책은 매우 간단합니다. Firefox 및 Safari를 사용하여 탐색할 때 아래와 같이 요소의 setArribute 메소드를 사용하여 요소의 클래스 속성을 설정할 수 있습니다.
var element = document.getElementById( "myElement");element.setAttribute("class","styleClass");
이상한 점은 setAttribute 메서드를 사용하고 속성 이름을 IE로 지정하면 요소의 클래스 속성을 설정하지 않습니다. 반대로 IE는 setAttribute 메소드만 사용할 경우에만 className 속성을 인식합니다.
이 상황에 대한 완전한 해결책은 다음과 같습니다. 요소의 setAttribute 메소드를 사용할 때 아래와 같이 class와 className을 모두 속성 이름으로 사용합니다.
var element = document.getElementById ("myElement ");
element.setAttribute("class","styleClass");
element.setAttribute("className","styleClass");
현재 대부분의 브라우저는 클래스 속성 이름을 사용하고 className을 무시합니다. IE는 정반대입니다.
4 입력 요소 만들기
입력 요소는 사용자에게 페이지 상호 작용 수단을 제공합니다. HTML 자체에는 한 줄 텍스트 상자, 여러 줄 텍스트 상자 등 제한된 입력 요소 집합이 있습니다. 상자 선택, 상자, 버튼, 확인란 및 버튼을 선택합니다. Ajax 구현의 일부로 이러한 입력 요소를 동적으로 생성하기 위해 Javascript를 사용할 수 있습니다.
한 줄짜리 텍스트 상자, 버튼, 체크박스, 라디오 버튼은 모두 입력 요소로 생성할 수 있지만 type 속성의 값이 다릅니다. 선택 상자와 텍스트 영역에는 고유한 마크업이 있으며 몇 가지 간단한 규칙만 따르면 Javascript(라디오 버튼 제외)를 통해 입력 요소를 동적으로 쉽게 생성할 수 있습니다. 선택 상자와 텍스트 영역은 document.createElement 메소드를 사용하여 쉽게 생성할 수 있습니다. select 또는 textarea와 같은 요소의 태그 이름을 document.createElement에 전달하기만 하면 됩니다.
한 줄 텍스트 상자, 버튼, 체크박스, 라디오 버튼은 모두 동일한 요소 이름 입력을 갖고 있지만 type 속성의 값이 다르기 때문에 조금 더 어렵습니다. 따라서 이러한 요소를 생성하려면 document.createElement 메서드를 사용해야 할 뿐만 아니라 나중에 해당 요소의 setAttribute 메서드를 호출하여 type 속성의 값을 설정해야 합니다. 어렵지는 않지만 추가 코드 줄이 필요합니다.
새로 생성된 입력 요소를 상위 요소에 추가할 위치를 고려할 때 document.createElement 및 setAttribute 문의 순서에 주의해야 합니다. 일부 브라우저에서는 새로 생성된 요소가 해당 요소가 생성되고 type 속성이 올바르게 설정된 경우에만 상위 요소에 추가됩니다. 예를 들어 다음 코드 조각은 일부 브라우저에서 이상하게 작동할 수 있습니다.
다음 항목 간단한 규칙은 나중에 발생할 수 있는 진단하기 어려운 문제를 제거하는 데 도움이 될 것입니다.
5. 입력 요소에 이벤트 핸들러 추가
입력 요소에 이벤트 핸들러를 추가하는 것은 setAttribute 메소드를 사용하고 이벤트 루틴의 이름과 이름을 지정하는 것만큼 쉽습니다. 필요한 함수 루틴의 ? 잘못된. 요소에 대한 이벤트 핸들러를 설정하는 표준 방법은 다음과 같이 이벤트 이름을 속성 이름으로, 함수 핸들러를 속성 값으로 사용하는 요소의 setAttribute 메소드를 사용하는 것입니다.
var formElement = document .getElementById( "formElement");
formElement.setAttribute("onclick","doFoo();");
IE를 제외하고 위 코드는 다음과 같은 경우 모든 현재 브라우저에서 작동합니다. Javascript를 사용하여 IE에서 이벤트 핸들러를 설정할 때 요소에 점 표기법을 사용하여 필수 이벤트 핸들러를 참조하고 이를 익명 함수에 할당해야 합니다. 이 익명 함수는 아래와 같이 필수 이벤트 핸들러를 호출합니다. var formElement = documentgetElementById("formElement");
formElement.onclick = function(){ doFoo() }; 다행히도 이 기술은 IE 및 기타 모든 브라우저에서 채택되었습니다. 이를 지원하므로 Javascript를 통해 양식 요소에 대한 이벤트 핸들러를 동적으로 설정하는 것이 전적으로 가능합니다.
6 라디오 버튼 만들기
IE를 제외한 다른 모든 브라우저에서는 현재 라디오 버튼을 만드는 데 다음 방법을 사용할 수 있습니다(이러한 방법도 가능함).
var readioButtion = document.createElement("입력")
readioButtion.setAttribute("type","radio");
readioButtion.setAttribute("name","radioButtion")
readioButtion.setAttribute("value","checked") ;
이렇게 하면 IE를 제외한 모든 현재 브라우저에 라디오 버튼이 생성되고 제대로 작동합니다. IE에서는 라디오 버튼이 나타나지만 라디오 버튼을 클릭해도 예상대로 선택되지 않기 때문에 선택할 수 없습니다. IE에서 한 줄 버튼을 만드는 방법은 완전히 다르며 다른 브라우저에서 사용하는 방법과 전혀 호환되지 않습니다. 이전에 생성된 라디오 버튼의 경우 IE에서 다음과 같이 생성할 수 있습니다.
var radioButtion = document.createElement(" " );
이를 위해서는 일종의 브라우저 스니핑 메커니즘이 필요합니다. IE는 고유 ID, 고유 ID라는 문서 개체의 특수 속성을 인식할 수 있습니다. IE는 또한 이 속성을 인식하는 유일한 브라우저이므로 고유 ID는 스크립트가 IE에서 실행 중인지 확인하는 데 적합합니다.
document.uniqueID 속성을 사용하여 스크립트가 실행 중인 브라우저를 확인할 때 IE 관련 메서드와 표준 호환 메서드를 결합하면 다음 코드를 얻을 수 있습니다.
if(document .uniqueID){
//Internet Explorer
var radioButtion = document.createElement(" }
else{
//표준 준수
var readioButtion = document.createElement("input");
readioButtion.setAttribute("type","radio");
readioButtion.setAttribute("name","radioButtion")
readioButtion.setAttribute("value"," 확인됨") ;
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.