2013-02-04 4 views
0

이전에 나는 following question에 JQuery를 사용하여 HTML 테이블 행을 추가하는 방법에 대해 물었고 테이블 셀 안의 요소에있는 ID를 알고있었습니다.요소의 ID를 알고, 같은 테이블에있는 다른 요소를 찾는 방법?

그래서, 새 행을 추가 한 후, 테이블이 지금과 같이 :

<table id = "mytable"> 
    <tr> 
    <th>Hiring Manager</th> 
    <td><textarea id = "textComments" cols = "15"/></td> 
    </tr> 
    <tr> 
    <td></td> 
    <td> 
     <span class = "CharCounter"> 
      <span id="lblCharCounter">Label</span> 
      characters (500 max) 
     </span> 
    </td> 
</tr> 

내가 첫 번째 요소의 ID를 알고 알고 싶어 (즉 textComment), 방법 아래 행에있는 두 번째 요소 (예 : lblCharCounter)를 선택할 수 있습니까?

+1

당신이 그것을 추가하기 전에 네,하지만, 왜 그냥에 대한 참조를 가져? 이전 질문에서 특별히 제시 한 ID가 있으므로 ID로 선택하지 않아도됩니다. '$ ("# lblCharCounter")' –

+0

문제는 텍스트 영역이있는 모든 곳에 사용하도록 계산한다는 것입니다. 선택 영역이 텍스트 영역을 제어하는 ​​것과 관련되게하고 싶습니다. 누군가가 키를 누르면 어떤 라벨이 선택 될지를 제어하려고합니다. – Richard77

+0

ID가 아닌 클래스를 사용하지 않으면 ID가 고유해야합니다. 그러나 이전 질문에 코드를 추가 한 다음 추가하려고하지 않고 코드에 추가 할 때 참조를 계속 저장해야합니다. –

답변

3

아마로 갈 것 :

$('#textComment').closest('table').find('.CharCounter') 

또는

(특정 하위 span를 얻을 수)
$('#textComment').closest('table').find('.CharCounter').children() 

또는 이와 유사한 - ID 이외의 고유 한 클래스를 찾으려는 요소에 할당하는 것이 가장 쉽습니다.

http://api.jquery.com/closest

http://api.jquery.com/find

+0

나를 이길. 의미있는 클래스 이름과 결합 된'$ .fn.closest'와'$ .fn.find'는 HTML 변경시 쉽게 깨지지 않기 때문에 특히 좋습니다. – jchook

+0

어린이 함수에서 나는 아이들을 추가했다 ('[id * = "lblCharCounter"]'), 그것은 완벽하게 작동한다. – Richard77

1
var $area1 = $("#textComments"); 

을 돕는

감사는 다음 사용

$area1.parent().parent().next().find('#lblCharCounter") 
+0

이것은 다음 td (아무 것도 없습니다)를 선택하므로 0 개의 요소가 선택되게됩니다. –

+0

@KevinB 죄송합니다. –

관련 문제