을 발견 할 때 나는 다음과 같은 DOM 구조가 있습니다 문제 - 오류 2 개 태그
/*:DOC += <div id='testDiv' class='testDivClass'><div id='innerTestDiv'></div></div><span id='testSpan' class='testSpanClass'><span id='innerTestSpan'></span></span>
지금 내가 jQuery를이 다음과 같이 그들에 대해 선택 실행하려고합니다. 첫 번째 값은 반환되었지만 두 번째 값은 실패했습니다.
// works
var result = $('#testDiv')[0];
alert(result.id);
// failed: id is null or not an object
var result2 = $('#testSpan')[0];
alert(result2.id);
클래스 대신 id를 선택하여 동일한 결과를 얻었습니다.
내 질문은 : 두 번째 선택을 어떻게 작동시킬 수 있습니까? 두 번째 선택하기 전에 DOM의 시작 부분을 다시 설정해야하는 jQuery에 보이지 않는 반복자/포인터가 있습니까?
감사합니다.
편집 : 확인 이것은 공식 "작동하지 않음"버전입니다. testDiv가 일치하지만 testSpan이 아니므로 ID가 null이거나 두 번째 경고의 객체 오류가 아니라는 오류가 발생합니다.
업데이트 : 나는 html에서 testDiv와 testSpan을 교체하여 테스트를 수행했습니다. 이제 모두 선택에 실패했습니다.
UPDATE2 : HTML을 원래 모양으로 변경했습니다. JsTestDriver를 사용하여 테스트를 작성했지만 현재 실제로는 아무것도 호출하지 않습니다. 실제 HTML은 이보다 더 복잡합니다 (중첩 태그가 많음). 이 간단한 버전을 먼저 작동 시키려고 노력 중입니다. jQuery가 span이나 div 일지라도 첫 번째 선택에 들어갈 수 있었지만 두 번째 선택을 수행 할 수 없었습니다. 나는 jQuery.js와 jsTestDriver.jar를 쓸모 없게 바꿨다.
감사합니다.
많은 오식에 사과드립니다. 나는 코드의 1 버전으로 다른 화면을보고 있었고, 내 마음 속에 다른 버전의 코드를 가지고 있었고, 이전에 삭제 한 코드를 기억했다. 혼란이 내 마음을 지배한다.> _> ... – BeraCim
이 코드인가? DOM이로드 된 후에 실행됩니까? – Greg
@Greg : DOM을로드하기 전에 명확하게 아니요. 나는 누군가가 내 코드에서 DOM 선언을 제거한 것을 알아 차렸다. – BeraCim