2011-04-06 2 views
0

내가 어떤 스타일 TDS으로이 테이블을 가지고 지금, 그래서 하나의 경우에서의 TD를 선택하려고이 테이블에 일부 CSS를 추가 할 (TD의 내용이 꽤 크기 때문에 나는 스크린 샷을 넣어) 클래스를 적용하고 다음과 같은 스타일을 적용하십시오.이 jQuery가 작동하지 않는 이유는 무엇입니까? <img src="https://i.stack.imgur.com/zUJLs.jpg" alt="enter image description here"></p> <p>

jQuery(".graTabbedComponentDefaultTabs").parent('table').css('position','relative'); 

하지만 아무 일도 일어나지 않습니다. 문제가 보이십니까?

미리 감사드립니다.

답변

3

parent()가 아닌 parent()를 사용해야합니다.

부모()는 DOM에서 1 레벨 위로 보입니다. Parents()는 일치하는 요소를 찾을 때까지 DOM을 트래버스합니다. 바로 위 부모 대신 조상을 얻을 대신 .parents('table')를 사용 -

jQuery(".graTabbedComponentDefaultTabs").parents('table').css('position','relative'); 
3

<table><td>의 부모가 아닙니다. 대신 부모의

+2

이 오히려 가장 가까운보다는, 모두를 선택합니다 : http://api.jquery.com/closest/ – StuperUser

1

사용 부모는 :

jQuery(".graTabbedComponentDefaultTabs").parents('table').css('position','relative'); 
5

당신은 closest() 대신 parent()을 사용하고 싶습니다.

jQuery(".graTabbedComponentDefaultTabs").closest('table').css('position','relative'); 

parent()가 요소의 직접 상위 잡고 (이것은 선택과 일치하는 경우). closest()은 원하는 셀렉터를 찾은 다음 중지 할 때까지 DOM을 탐색합니다. parents()은 DOM을 트래버스하고 선택자와 일치하는 모두 요소를 가져옵니다.

+1

코드 예제에 나를 이길. – StuperUser

1

해당 클래스의 부모가 <tr>이고 <table>이 아니기 때문에 parent('table') 호출은 아무 것도 반환하지 않습니다.

Closest을 사용하십시오. 부모가 아닌 경우이 테이블의 부모 인 테이블을 선택할 수 있습니다. 해당 테이블이 부모 안에 중첩되어있는 경우

$(".graTabbedComponentDefaultTabs") 
    .closest('table') 
    .css('position','relative'); 
관련 문제

 관련 문제