2010-08-16 1 views
4

iframe에 양식을로드하고 있습니다 (facebox 포함). 양식이 제출되고 iframe 내부의 페이지가 다시로드되면 부모 페이지의 특정 테이블 행에 CSS 클래스를 추가하고 싶습니다. 형태가 iframe에 제출jQuery를 사용하여 iframe에 페이지를로드 한 후 테이블 행에 CSS 클래스 추가?

<table> 
    <tr id="row-1"><td><a href="">link to open facebox with iframe</a></td></tr> 
    <tr id="row-2"><td></td></tr> 
    <tr id="row-3"><td></td></tr> 
    <tr id="row-4"><td></td></tr> 
</table> 

후, 상위 프레임의 테이블은 다음과 같아야합니다 :

<table> 
    <tr id="row-1" **class="highlite"**> 
     <td><a href="">link to open facebox with iframe</a></td> 
    </tr> 
    <tr id="row-2"><td></td></tr> 
    <tr id="row-3"><td></td></tr> 
    <tr id="row-4"><td></td></tr> 
</table> 

은 지역 사회가 나를 도울 수

테이블은 다음과 같다 이 올바르게 구현?

답변

1
$("#row-1", window.parent.document).toggleClass("highlite"); 

Pim Jager을 인용 :

$() 래퍼의 두 번째 매개 변수는 검색 할 수있는 상황이다. 기본값은 document입니다.

1

동일한 링크를 클릭하고 다시로드 할 수있는 기회가 있다면 .addClass 대신 .toggleClass을 사용할 수 있습니다. .toggleClass의 기본 동작은 해당 요소에 대한 클래스의 존재 여부를 확인한 다음 결과에 따라 클래스를 추가하거나 제거하는 것입니다.

$("#row-1", window.parent.document).addClass("highlite") 
    .siblings().removeClass("highlite"); 
: 당신의 의도가 강조 현재 행 만 가지고 있으면

, 당신이 그런 짓을 할 것입니다

관련 문제