2013-02-04 4 views
1

내부에 중첩되지 않은 목록이있는 iframe이 있습니다. '확장 된'클래스가있는 중첩 된 ul을 찾고 '축소'로 변경하려고합니다.JQuery는 클래스가있는 iframe에서 중첩 된 ul을 찾고 대체합니다.

<iframe id='Catalog'> 
    <html> 
    <body> 
     <ul id='items'> 
     <li><ul></ul></li> 
     <li><ul class='expanded'></ul></li> 
     <li><ul></ul></li> 
     </ul> 
    </body> 
    </html> 
</iframe> 

나는 많은 것을 시도했지만 제대로하지 못했습니다. 사전에

$('iframe#Catalog') 
      .contents() 
      .find('ul#items li ul') 
      .hasClass('expanded') 
      .removeClass('expanded') 
      .addClass('collapsed'); 

감사 : 여기

내가 얻기 위해 노력하고있어 샘플입니다!

+0

당신은'$ ('. expanded')'로 클래스별로 선택할 수 있습니다 - 당신은'hasClass()'를 사용할 필요가 없습니다. 또한'contents()'호출을 전혀 필요로하지 않습니다. – Colleen

답변

1

hasClass은 부울 값을 반환하고 요소를 필터링하지 않으므로 대신 클래스 선택기를 사용할 수 있습니다.

$('#Catalog') 
      .contents() 
      .find('ul.expanded') 
      .removeClass('expanded') 
      .addClass('collapsed'); 
+0

오오 그래 .... 아 !! :) 고마워요! – Tim

0

jQuery 코드가 iframe 또는 외부에 있습니까? 코드가 iframe 외부에있는 경우 컨테이너 페이지에서 보안상의 이유로 iframe 내부에있는 html에 액세스 할 수 없다고 생각합니다. 코드를 iframe 콘텐츠로 옮기는 경우 작동해야합니다.

관련 문제