문제

최근에 jQuery 1.2에서 1.3.2에서 응용 프로그램을 업그레이드했으며 다소 이상한 회귀를 발견했습니다.

이와 같이 거의 일부 HTML의 경우 (조금 단순화)

<div id="steps">
  <div class="step">
    <span>step #1</span>
    <div class="removeStep"> X </div>
  </div>
  <div class="step">
    <span>step #2</span>
    <div class="removeStep"> X </div>
  </div>
</div>

우리는 이전에 모든 단계에 대해 SO와 같은 이벤트를 첨부했습니다.

$("#steps").find(".removeStep").click(removeStepFunc)

1.2에서는 모든 단계, 심지어 우리가 동적으로 추가 한 단계를 찾을 수 있습니다. 1.3 미만은이 단계 만 찾습니다.

이것은 또한 작동하지 않습니다.

#("#steps .removeStep").click(removeStepFunc)

그러나 이것은 다음과 같습니다.

#("#steps).children().find(".removeStep").click(removeStepFunc)

나는 분명히 문제를 해결할 수 있지만, 지금 우리가 업그레이드 한 응용 프로그램에 영향을 미치는 다른 유사한 회귀가있을 것이라는 것이 약간 긴장하게 만들어졌다.

또한이 다른 질문을 보았습니다. 같은 문제가 될지도 모른다고 생각합니다.

jQuery 선택기 버그? 작곡 된 선택기 대 단순 선택기 & find ()

도움이 되었습니까?

해결책 2

이제이 게시물을 넘어서서이 문제를 해결했습니다.

http://groups.google.com/group/jquery-en/browse_thread/thread/ae61896a809f6cf0

문제는 jQuery 1.3.2와 호환되지 않는 이전 버전의 JQuery Validator 플러그인 (v1.3)을 사용하여 발생했습니다. 우리는 v1.6으로 업데이트되었으므로 문제가 해결되었습니다.

다른 팁

다음을 시도하십시오.

jQuery('#steps > .removeStep').click(removeStepFunc)

또는

jQuery('#steps .step .removeStep').click(removeStepFunc)
1 단계 X 단계 #2 x

업데이트

이와 같은 것은 어떻습니까? (테스트되지 않은) :

jQuery('#steps .removeStep').click( function() {
  jQuery(this).remove(jQuery(this).parent());
});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top