2015-01-15 2 views
2

결과가로드되는 검색 양식과 테이블이있는 페이지가 있습니다. 테이블의 다음 인스턴스를 찾으려면 jQuery 사용하려고하지만 어떤 이유로 그것을 찾을 수 없습니다.jQuery find next table

<div class="search"> 
    <form class="search" method="get" action="/page.php"> 
    <input id="search" type="text" value="" name="search"> 
    <input type="submit" value="search"> 
    </form> 
</div> 

<table id="Organization" class="table" width="100%" > 
...table stuff... 
</table> 

내가 "onclick을"검색 버튼의 나는 테이블의 다음 인스턴스를 잡고 해당 테이블의 클래스를 얻으려고 노력하고 있어요 jQuery를 사용하여. 나는 이것을 시도하고 작동하지 않습니다 :

$(this).next('table').attr('class'); 

누군가 내 양식에서 검색 버튼을 클릭 한 후 테이블의 다음 인스턴스를 선택하는 데 도움이 될 수 있습니까?

답변

3

jQuery Documentation for next()는 말한다 : DOM 요소의 집합을 나타내는 jQuery를 객체 감안할 때

, 방법은 우리가 DOM 트리에서이 요소의 바로 다음 형제를 검색 할 수 있습니다()는 다음 내용을 일치하는 요소로부터 새로운 jQuery 객체를 생성한다.

즉, 다음 단계에서는 선택한 요소 다음에 오는 요소 만 같은 레벨에서 즉시 찾을 수 있습니다. 다음과 같은 코드를 사용할 수 있다고에 따르면

$(".search").next("table").attr('class'); 

당신이 조상의 search 사업부를 찾기 위해 $.parents 방법을 사용하고 다음 테이블을 찾아보실 수 있습니다 search 클래스와 여러 요소가있는 경우

.

$(this).parents(".search").next("table").attr('class'); 

하지만 왜 next()을 사용합니까? 예를 들어 표를 선택할 수 있습니다. 그 클래스에 의해 또는 당신이 그것을 할당하면 ID에 의해.

수정 된 테이블 (속성 id 연장) 될 것이다 :

<table id="the_table" class="table">...</table> 

방법

테이블 선택 :

$(".table").attr('class'); // by class 
$("#the_table").attr('class'); // by id 
0
$(this).closest('div').next('table'); 
+0

당신이 무슨 일을하는지 설명하고 코드를 포맷을하시기 바랍니다 . – Seth