다음과 같이 코드 코드를 복사하십시오.
<doctype html>
<html>
<헤드>
<title> ff 및 즉 동적 로딩 요소 </title>
<script type = "text/javaScript"src = "jQuery-1.4.min.js"> </script>
<스타일 유형 = "텍스트/CSS">
Li {마진 : 0;
</스타일>
<script type = "text/javaScript">
함수 add () {
var litemplate = $ ( "#template");
litemplate.find (입력 [name = 'awbpre'] ");
litemplate.find (입력 [name = 'awbno'] ");
$ ( "#box").
}
</스크립트>
</head>
<body>
<ul id = "box">
<li id = "template"style = "display : none">
AWBPRE :
<입력 유형 = "text"value = "#awbno#"name = "awbpre"/>
awbno :
<입력 유형 = "text"value = "#awbno#"name = "awbno"/>
</li>
</ul>
<입력 유형 = "버튼"value = "add"onclick = "return add ()"/>/>
</body>
</html>
코드는 다음과 같습니다. 추가 버튼을 클릭하면 페이지에 페이지에 두 개의 입력 상자를 추가하고 동시에 두 개의 새 입력 상자에 값을 할당하십시오. IE 6,7,8,9 (호환 모드)는 정상적으로 실행됩니다.
그러나 FF, Chrome, IE9 (비정형 모드)에서는 옳지 않습니다.
add () 메소드를 변경하십시오
다음과 같이 코드 코드를 복사하십시오.
<script type = "text/javaScript">
함수 add () {
var litemplate = $ ( "#template");
$ ( "#box").
var new_li = $ ( "#box li : last");
new_li.find (입력 [name = 'awbpre'] ");
new_li.find ( "input [name = 'awbno']");
}
</스크립트>
맞습니다. 두 사람의 첫 번째는 먼저 할당을 수행 한 다음 Dom Tree에 먼저 추가 한 다음 해당 처리 할당을 찾는 것입니다. 나는 프론트 엔드 기술에 대한 신인 입니다. 첫 번째 글쓰기 방법은 "#template"( "#template")와 유사합니다. , litemplate은 livemplate.html ()가 호출 될 때 Dom 트리가 최종적으로 호출 될 때 숫자에 결합되지 않았으므로 반환 된 HTML 코드는 초기 처리 전에 HTML 코드입니다 (약간의 값, 사본이 사용됩니다. 프로세스가 무엇인지에 관계없이 원래의 값에 영향을 미치지 않습니다 이번에는 "포인터"방향의 모든 수정이 객체 자체에 직접 영향을 미칩니다 ( "참조 전송"의 의미는 약간).