오늘은 IE와 FF 간의 날짜 선택기 호환성 문제를 다루었습니다. 이 상황에서는 오류를 찾기가 어렵습니다. 이 방법은 IE에서 이와 같은 요소 생성을 지원합니다 코드 복사 코드는 다음과 같습니다. var inputObj = document.createElement (""); 그러나 이 상황은 ff에서는 양립할 수 없습니다. 또한 입력 요소 생성에 특별한 주의를 기울이십시오. 확인란, 라디오, 제출, 재설정 등 입력과 관련된 요소가 많기 때문에 입력 생성은 매우 특별한 사용법입니다. 다양한 입력을 생성하는 올바른 방법은 다음과 같습니다. 코드 복사 코드는 다음과 같습니다. <br> <!--<br /> var board = document.getElementById("board");<br /> var e = document.createElement("input");<br /> e.type = "radio"; //이전 줄 바로 뒤에 <br />를 씁니다. var obj = board.appendChild(e);<br /> obj.checked = true;<br /> //다음 표기도 맞습니다: <br /> //e.checked = true;<br /> --><br> <br> </div> <p>입력의 경우 e.type은 Netscape, Opera 및 Firefox에서appendChild 앞이나 뒤에 올 수 있습니다. 하지만 IE에서는 type 속성이 먼저 와야 하고, 다른 속성은 뒤에 와야 합니다. </p> <p>요소를 생성할 때 IE의 또 다른 특징은 속성과 함께 생성할 수 있다는 것입니다. 예: var e = document.createElement("<input type='radio' name='r' value='1' / > "); 다른 브라우저에서는 작동하지 않으므로 우리도 지원하지 않습니다. </p> <p>요약: </p> <p>•입력이 아닌 요소의 경우 각 브라우저에서 요소 속성에 대한 변경 사항은 표시 요소(insertBefore 또는appendChild) 앞이나 뒤에 기록될 수 있습니다. <br> • 입력 요소의 경우 IE와의 호환성을 위해 표시 요소(insertBefore 또는 AppendChild) 앞에 type 속성을 쓰고 그 뒤에 다른 속성을 씁니다. <br> 추천: </p> <p>•input 요소의 type 속성이 표시 요소(insertBefore 또는appendChild) 앞에 기록되는 것을 제외하고 다른 속성은 표시 요소 뒤에 기록됩니다. <br> •속성을 변경할 때 표시된 요소(insertBefore 또는 AppendChild) 앞에 쓰여지면 createElement의 반환값을 사용하고, 표시된 요소 뒤에 쓰여지면 insertBefore 또는 AppendChild의 반환값을 사용한다. </p> <p></p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="47296" class="copybut" id="copybut47296" onclick="doCopy('code47296')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div> <div class="codebody" id="code47296"> <br> 1.var echkbox=document.createElement("입력") <br> 2.echkbox.setAttribute("type","checkbox") <br> 3.echkbox.setAttribute("id","inputid") <br> 4.echkbox.setAttribute("이름","입력이름") <br> 5.echkbox.setAttribute("value","inputvalue") <br> 6.var addhere=document.getElementById("someElementId") <br> 7.여기에 추가하세요.appendChild(echkbox) <br> 8.echkbox.setAttribute("checked","checked") <br> 9.alert(document.getElementById("inputid").checked) <br> </div> <p><!--문서화 방법: <br> getElementById(id) 지정된 노드에 대한 참조를 반환합니다<br> getElementsByTagName(name) 문서에서 일치하는 모든 요소의 컬렉션을 반환합니다<br> createElement(name) 지정된 유형의 새 노드를 생성합니다<br> createTextNode(text) 일반 텍스트 노드 생성<br> 요소 메소드: <br> getAttribute(id) 지정된 속성의 값을 반환합니다<br> setAttribute(id,value) 속성에 값 할당<br> RemoveAttribute(id) 지정된 속성과 해당 값을 제거합니다<br> getElementsByTagName(name) 노드에서 일치하는 모든 요소의 컬렉션을 반환합니다<br> 노드 방법: <br> appendChild(child) 지정된 노드에 새 하위 노드를 추가합니다<br> RemoveChild(child) 지정된 노드의 하위 노드를 제거합니다<br> replacementChild(newChild,oldChild) 지정된 노드의 하위 노드를 교체합니다<br> insertBefore(newChild,refChild) 같은 레벨의 노드 앞에 새 노드를 삽입합니다<br> hasChildNodes() 노드에 하위 노드가 있으면 true를 반환합니다<br> 노드 속성: <br> 노드 이름 ~ 노드 이름을 문자열 형식으로 저장 <br> nodeType 노드의 유형을 정수 데이터 형식으로 저장합니다<br> nodeValue 노드의 값을 사용 가능한 형식으로 저장합니다 <br> parentNode 노드의 상위 노드에 대한 참조 <br> childNodes 하위 노드를 가리키는 참조 모음 <br> firstChild 하위 노드 조합에서 첫 번째 하위 노드에 대한 참조 <br> lastChild 하위 노드 조합의 마지막 하위 노드에 대한 참조</p> <p><br> js를 동적으로 로드<br> </p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="86817" class="copybut" id="copybut86817" onclick="doCopy('code86817')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div> <div class="codebody" id="code86817"> <br> var 발진=true; <br> var msg=""; <br> 함수 norash() <br> { <br> if (confirm("确定要取消吗")) <br> 발진=거짓; <br> } <br> 함수라싯() <br> { <br> setInterval('getrss()',Inttime); <br> } <br> 함수 getrss() <br> { <br> if (발진==true) <br> { <br> head=document.getElementsByTagName('head').item(0); <br> script=document.createElement('스크립트'); <br> script.src='INCLUDE/AutoUpdate.asp'; <br> script.type='텍스트/자바스크립트'; <br> script.defer=true; <br> void(head.appendChild(스크립트)); <br> window.status=msg; <br> } <br> } <br> 라시트();<br> </div>