javascript 코드 로 인 한 사고 1/2 페이지

2008 년 마지막 날,새해 복 많이 받 으 세 요!!!정 중 히 성명:이 문 제 는 전혀 문제 가 아 닙 니 다.지금 보 니 본인 의 지식 이 부족 하고 걱정 이 많 으 니 많은 친구 들 이 뿌리 지 마 세 요!!문 제 를 세 심하게 발견 하고 인내심 을 가지 고 문 제 를 해결 하 며 자신 감 을 가지 고 문 제 를 직면 합 니 다.작가:백 씨 는 긴 말 하지 않 았 습 니 다."종업원,코드 를 올 립 니 다."테스트 코드:function init(){var tpl=new Ext.Template('div id="div{id}">this is div{id}
);tpl.append('div1',{id:'2'}); tpl.insertAfter('div2',{id:'3'}); tpl.overwrite('div1',{id:'88'}); } Ext.onReady(init);
this is div1
[Ctrl+A 올 옵션:.45672915.]다음은 IE 테스트 입 니 다.제 가 바 라 는 결 과 는(내 레이 션:이미 실 수 를 시 작 했 습 니 다):this is div88
this is div2
div3>this is div3
실제 결과:
this is div 88
>this is div 88
/div 88
>문제:Div 2,div 3 잃어버렸어 요?문 제 를 발견 하면 어떻게 합 니까?코드 를 보십시오.Template.js line:197(Extjs ver 2.2)append:function(el,values,return Element){return this.doInsert('beforeEnd',el,values,return Element);}line 201:doInsert:function(where,el,values,returnEl){el=Ext.getDom(el);var newNode = Ext.DomHelper.insertHtml(where, el, this.applyTemplate(values)); return returnEl ? Ext.get(newNode, true) : newNode; } 보고 있 습 니 다:DomHelper.js line:267 insertHtml:function(where,el,html){where=where.toLowerCase();if(el.insertAdjacentHTML){ if(tableRe.test(el.tagName)){ var rs; if(rs = insertIntoTable(el.tagName.toLowerCase(), where, el, html)){ return rs; } } switch(where){ case "beforebegin": el.insertAdjacentHTML('BeforeBegin', html); return el.previousSibling; case "afterbegin": el.insertAdjacentHTML('AfterBegin', html); return el.firstChild; case "beforeend": el.insertAdjacentHTML('BeforeEnd', html); return el.lastChild; case "afterend": el.insertAdjacentHTML('AfterEnd', html); return el.nextSibling; } throw 'Illegal insertion point -> "' + where + '"'; } //////뒤에 생략}원래 사용 하 던 insertAdjacentHTML 방법 인 데 왜 문제 가 있 습 니까?출력 중간 코드:var tpl=new Ext.Template('
this is div{id}
);tpl.append('div1',{id:'2'}); tpl.insertAfter('div2',{id:'3'}); $("result-area").innerText = Ext.getDom("div1").innerHTML; //......... 결 과 는 다음 과 같다.this is div 1
this is div 2
this is div 3
?????왜 그 랬 을 까?"this is div 1"양쪽 의
탭 은?테스트 중:var tpl=new Ext.Template('div id='div{id}'>this is div{id}
);tpl.append('div1',{id:'2'}); tpl.insertAfter('div2',{id:'3'}); $("result-area").innerText = Ext.getDom("div1").outerHTML; //......... 결 과 는 다음 과 같다.후 div 2,div 3 이 사 라 졌 습 니 다.tpl.overwrite 소스 코드(innerHTML 직접 할당)를 첨부 합 니 다:overwrite:function(el,values,returnElement){el=Ext.getDom(el);el.innerHTML = this.applyTemplate(values); return returnElement ? Ext.get(el.firstChild, true) : el.firstChild; } 문 제 는 알 겠 습 니 다.그런데 어떻게 해 야 합 니까?Ext 소스 코드 를 바 꾸 시 겠 습 니까?
1 引入外部Js需再刷新一下页面才能执行 2 下一页
음력 날 짜 를 완전히 표시 하 는 js 코드
C\#프로그램의 루트 디 렉 터 리 를 가 져 오고 파일 이 존재 하 는 지 판단 하 는 실례 설명

좋은 웹페이지 즐겨찾기