IE의 넥스트 Sibling에 대해서.
7937 단어 ext
<script>
var shq = {}
shq.cmenu = function (e) {
var e = window.event ? window.event.srcElement : e.target;
if (/a/i.test(e.tagName)) {
alert(e.parentNode.nextSibling.nodeType); // 3 text
e.parentNode.nextSibling.innerHTML = e.innerHTML;
e.blur();
}
}
</script>
<div id="div1" onclick="shq.cmenu(event)">
<a href="#"> </a>
</div>
<div id="div2"></div>
시스템 환경: win8, ie11
문제: nextSibling이 현재 노드와 같은 등급의 다음 노드를 얻었지만 성공하지 못했습니다.
프로세스 설명: [특색]을 눌렀을 때 div2의 innerHtml가 [특색] 디버깅이 되지 않았을 때 e.parentNode를 발견했습니다.nextSibling은 다음 div가 아니라 #text입니다. nodetype은 3입니다.
개인적으로 내린 결론: 맞는지 모르겠지만, 지금 결과는 이렇다.
div1.nextSibling.next Sibling이야말로 div2다.
물론 이런 방법은 부적절하기 때문에 아래와 같이 바꾸었다.
<script>
var shq = {}
var nNode = {}
shq.cmenu = function (e) {
var e = window.event ? window.event.srcElement : e.target;
if (/a/i.test(e.tagName)) {
//alert(e.parentNode.nextSibling.nodeType); // 3 text
nNode=e.parentNode.nextSibling;
while(nNode.nodeType!=1){
nNode=nNode.nextSibling;
}
nNode.innerHTML = e.innerHTML;
e.blur();
}
}
</script>
<div id="div1" onclick="shq.cmenu(event)">
<a href="#"> </a>
</div>
<div id="div2"></div>
초초의 조언 감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ExtJS 3.2 학습 노트(3) 사용자 정의 이벤트Extjs에서 모든 상속은 Ext.util에서 합니다.Observable 클래스의 컨트롤은 이벤트를 지원할 수 있습니다. 클래스에 대해 이벤트를 사용자 정의하려면 다음 절차를 따르십시오. 1, 먼저 클래스를 정의합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.