2009-12-30 3 views
0

전달 된 테이블의 모든 데이터를 검색하여 배열에 저장하는 재사용 가능한 함수를 작성하려고합니다.[jQuery] : 선택기 추가

테이블에 대한 참조를 전달하는 방법을 모르겠습니다.

내가 좋아하는 뭔가를 할 수

...

passTableRef($('#tableId th'),$('#tableId td')); 

하지만 난 기능에 정교하고 싶은 경우에는 바로 테이블 참조를 전달하고 싶습니다.

$('#tableId')을 전달하고 $('#tableId th')$('#tableId td')에 대한 참조를 함수 내에 추가 할 방법이 있습니까?

편집 : 해명

당신이 참조 취할 수 있는지가 궁금 - 함수에 $(#tableId)

패스가 - reusableFunction($('#tableId'))

다음 같은 것을 할을 ..

function reusableFunction(table) 
{ 
    //change the selector $("#tableId") to $("#tableId th") 
} 
+0

내가 해요 당신이 성취하려는 것을 혼란스럽게합니다. 선택기를 추가하여 테이블을 전달할 때 선택기를 생성하여 해당 테이블의 th 및 td 요소를 검색 할 수 있도록 하시겠습니까? –

+0

당신의 질문은 여전히 ​​의미가 없습니다. $ ("# tableId")를 $에 추가하면 무엇을 의미합니까? 자체 셀 중 하나에 표를 추가 할 수 없습니다. – noah

+0

$ ('tableId')에서 $ ('tableid th')까지 셀렉터를 변경하고 싶습니다. –

답변

2

그냥 테이블을 통과하고 whatev로 계속 진행하십시오. 너 find으로 원한다. $('#tableId') 테이블에 정확히 의미 : 당신은 단지 특정 테이블에 대한 참조를 원하는 경우

someFunc($('#tableId')); 

...

function someFunc(table) { 
    var tds = table.find('td'); 
} 
+0

참고로 전체 jQuery 객체가 다시 필요 없습니다 ; $ ('# foo'). add ('. bar')도 잘 동작합니다. –

+0

사실, 어쨌든 추가 사용하지 내 대답 편집 :) – rfunduk

0

, 식별자는 당신이 필요로하는 모든해야한다. 나중에 더 구체적인 부분을 참조해야하는 경우 함수 내의 해당 jQuery 객체를 가져와 add("td") 또는 add("th")으로 th 또는 td 부분을 살펴보십시오.

0

jQuery 객체가있는 경우 선택자를 사용하여 find()를 호출하여 하위 요소를 찾을 수 있습니다. 그래서 당신은이 같은 함수 뭔가 할 수 :

function findTableElements(table) { 
    var th = $(table).find('th'); 
    var td = $(table).find('td'); 
} 

을 등처럼 사용

찾기 기능에

자세한 정보는 문서에서 찾을 수 있습니다

findTableElements($('#tableId')); 
http://docs.jquery.com/Traversing/find#expr