문제

았다면 두 div 모두 id="myDiv"

$("#myDiv").fadeOut(); 페이드 모두 div 니까?는 것이 첫 번째/초?거나 전혀 없?

나는 어떻게 변화하는 한 그것은이 페이드 아웃?

참고: 나는 알고 중복된 신분증은 표준이지만 나를 사용하 fancybox 모달 팝업 및 중복 지정된 콘텐츠에 당신의 페이지의 콘텐츠에 대해니다.누구나 알고있는 경우 이 주위에 방법이(어쩌면 내가 사용하여 fancybox 잘못)알려주시기 바랍니다.

도움이 되었습니까?

해결책

jQuery는 ID를 쿼리 할 때 정확히 하나의 요소와 일치합니다. 최대 배열 Element 객체는 반환됩니다 $("#foo").get(). 참조 jQuery 문서 자세한 정보를 원하거나 직접 시도하십시오.

$(function() {
    alert($("#foo").length);
});

다른 팁

요소 ID는 독특해야합니다. 동일한 ID의 여러 div를 갖는 것은 잘못되고 예측할 수 없으며 ID의 목적을 무시합니다. 당신이 이것을했다면 :

$('.myDiv').fadeOut();

그것은 당신이 그들에게 mydiv 클래스와 독특한 ID (또는 전혀 없음)를 주었다고 가정하면 두 가지를 희미해질 것입니다.

"참고 : 중복 ID가 표준에 반대한다는 것을 알고 있습니다."

그런 다음하지 마십시오. 당신은 이미 두 가지 문제를 알아 냈습니다. 표준을 위반하고 jQuery (및 실제로 일반 DOM) 선택 메커니즘을 방해합니다. 앞으로 더 많은 문제가있을 것입니다.

아마도, 당신 ~이다 Fancybox를 잘못 사용하여 친숙한 사람이 도움이되기를 바랍니다. 또는 더 나쁜 것은 스크립트 자체에 결함이 있으면 사용해서는 안됩니다.

기 때문$('#myDiv')만 반환됩니다 첫 번째 div ID,당신은 당신을 찾아야 할 것이 모든 요소를 함께 해당 ID 를 사용하여 이 속:

$('[id=myDiv]');

그래서,당신의 경우,적용하는 페이드 아웃의 모든 사람들 div:

$('[id=myDiv]').fadeOut();

하고 싶은 경우에는지 확인 페이지 없이 두 번 다음을 제거할 수 있습니다 추가 사람을 이렇게 함으로써:

$('[id=myDiv]:gt(0)').remove();

할 수도 있습니다 이동 경로를 사용하여 찾을 수 있습니다().을 찾을 반환 모든 요소와 함께하는 ID 및 범위를 제한할 수 있습니다 특정한 부모는 필요한 경우에도 같은 뭔가 $(document).find('#myDiv').fadeOut();

$('.parentElement').find('#myDiv').fadeOut();

나는 같은 문제에 부딪쳤다. 분명히 Fancybox를 열고 자하는 페이지에서 컨텐츠를 만들 때 원본 콘텐츠의 거울 디그리를 만듭니다. 내 사례에서, 컨트롤은 "Fancy_div"라는 이름의 Fancybox가 생성하는 Div에 래핑되었습니다.

선택기의 다음 형식을 사용하여 컨트롤을 선택하고 값을 얻을 수있었습니다.

$ ( '#fancy_div [id = inputtext]'). val ();

귀하의 컨트롤은 Fancybox 내에 다른 곳에 존재할 수 있습니다. 가장 좋은 방법은 ViewSource를 보는 것이지만 까다 롭습니다.

뷰 소스에 도달하려면 다음 기술을 사용하십시오.이 태그를 양식에 놓으십시오. 값을 가져 오십시오. 양식을 열고 태그를 클릭하여 경보 창을 엽니 다.
커서가 페이지 내용 내에 있는지 확인하십시오 (제어 및 클릭을 찾으십시오).
컨트롤을 마우스 오른쪽 버튼으로 클릭하고 "소스보기"를 선택하십시오.
많은 div가 존재하므로 콘텐츠가 포함 된 DIV를 찾으십시오.

도움이 되었기를 바랍니다.

나는 최근에 비슷한 문제가있었습니다. Ajax로드를 통해 다른 콘텐츠를 표시하는 단일 페이지가있었습니다. PDF 이미지를 생성하도록 서버를 트리거하는 버튼이 있습니다.

저의 원래 솔루션은 클래스 선택기를 사용하는 것이었지만 다른 개발자와 마찰을 일으켰습니다. 링크에는 클래스가 너무 많아서 클래스를 식별자로 사용하면 코드를 추악하게 만들었습니다. 그래서 나는 이름 속성을 사용했습니다.

<a name="printButton"....

$('a[name="printButton"]').on('click',function(){....

댄디 그냥 일했습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top