2017-11-17 13 views
0

다른 페이지에서 jquery UI 아코디언을 사용하는 사이트가 있습니다. 이 아코디언에 대한 스크립트는 각 경우의 페이지에 있습니다.JQuery UI Accordion의 인스턴스를 대상으로 모르는 경우

모든 페이지에 대해 일일 사이트 인쇄물을 조사하고 있으므로 사이트 인쇄를 할 때 아코디언을 완전히 확장해야합니다 (우리는 사이트 프린터의 userAgent 문자열을 감지하여이를 수행 할 것입니다. 하나).

사이트 프린터는 콘텐츠를 완전히 확장하기 위해 페이지에서 javascript 실행을 중지 할 수 있지만 콘텐츠로드를 방지하기 위해 AJAX 스크립트도 사용합니다.

페이지에서 jquery 아코디언을 타겟팅하고 완전히 확장하는 스크립트가 필요합니다. 모든 페이지에 custom.js 파일이 있으므로 명령을 입력 할 수 있습니다.

제 질문은 아코디언 개체가 이미 무엇인지 모른 채 모든 인스턴스를 대상으로 타겟팅 할 수 있습니까? 나는 모든 JQuery 아코디언 호출을 페이지별로 다시 작성하지 않고 custom.js 파일에 스크립트를 넣을 가능성을 찾고있다. (그리고 조건부를 작성하는 것을 기억하기 위해 사이트에 물건을 추가하는 모든 사람을 얻으려고한다. userAgent는 아코디언을 사용할 때마다 확장됩니다.) 코드를 보거나 현재 HTML에 대해 아무것도 모른 채

+1

모든 페이지에서 모든 아코디언과 일치하는 선택기를 찾을 수만 있다면 가능한 이유가 없습니다. 사람들이 당신을 도울 수 있도록 코드를 보여줘야합니다. – caisah

+0

그래서 모든 아코디언에 페이지별로 페이지를 수동으로 추가 한 다음 스크립트에서 해당 클래스를 타겟팅 할 수 있습니까? 그게 효과가 있니? 그들은 서로 다른 ID를 가지고 있기 때문에. – methodOverload

+0

예. 맞습니다! – caisah

답변

0

, 당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

$(".ui-widget.ui-accordion").each(function(index, elem){ 
    // Code that you want to execute on each Accordion 
    // For example, we could disable each one: 
    $(elem).accordion("disable"); 
}); 

나는 한 번에 모든 패널을 확장하는 방법을 볼 수 없습니다. 아마도 각 패널은 activate입니다.

찾을 수이 : jQuery UI Accordion Expand/Collapse All

그것은 아코디언은 정확한보고, 모든 확장을 자신의 능력을 롤 만들기 위해 테마를 사용하여 조언한다.

+0

고맙습니다. 나는 그것을 할 것이라고 생각합니다. 예. 코드를 제공하지는 않았지만 그것은 요청의 요점이었습니다. 각 페이지에서 실행 한 특정 스크립트를 알지 못해도 작동 할 스크립트를 작성하는 것이 었습니다. 감사합니다. – methodOverload