2013-03-10 3 views
1

좋은 하루,값을 선택 - 모든 JQuery와

나는

<tr id="value_12"> 
    <td>firstanme_1</td> 
    <td>lastname_1</td> 
</tr> 
<tr id="value_14"> 
    <td>firstanme_2</td> 
    <td>lastname_2</td> 
</tr> 

와 내가 사용하고있는 JQuery와는 아래와 같이 행과 값으로 테이블이 (이것은 분명히 잘못되었습니다). 나는 그럴와 함께 각 TR의 첫 번째 즉의 FIRSTNAME을 추출하기 위해 찾고

$('#table_id tr').each(function() { 
    serializedData += '&' + $(this).attr('id') + '=' + $(this).attr('id')+'_'+$(:first_child).text(); 
}); 

은 (구분 기호 '_'후 마지막 값 등) serialisedData 문자열의 같은 마지막 부분 속성.

나는 $ (this) .firstchild(). text() ..와 같을 수도 있지만 작동하지 않는 것 같습니다. 누군가이 경우 첫 번째 자녀를 얻는 올바른 방법으로 도움을받을 수 있습니까?

답변

6

이 폐기물 수집하는 문제

1

:first_child 잘못 선택기 귀하의 사용, 당신은 TR의 childern를 얻을 수있는 기능 children()를 사용하여 해당를 달성 할 수있는 '첫 번째'선택기로에만이 같은 첫 번째 얻을 :

$('#table_id tr').each(function() { 
    serializedData += '&' + $(this).attr('id') + '=' + $(this).attr('id')+'_'+$(this).children(":first").text(); 
      }); 

는 jsfiddle 참조 : http://jsfiddle.net/2t5J2/1/

0

은 TR의 첫 번째 자식이 당신이 할 수 얻을

$('#table_id tr').each(function() { 
    var firstName = $("td", tr)[0].val(); 
    var id = $(tr).attr('id').split("_")[1]; 
}) 

이름과 ID를 알려줍니다.

+1

귀하'[0]'잘못된 - 그것은 원시 DOM 요소를 추출합니다. 'tr' 변수도 없습니다. – Alnitak

0

사용 each 방법을 수정합니다이

$(:first_child).text(); 

$(this).find("td:first").text(); 

또는 다른 방법으로

$(this).find("td:eq(0)").text(); 

으로 교체 그런 다음 jQuery $.param 함수를 사용하여 쿼리 문자열을 구성하십시오. 이점은 제대로 당신을 위해 인코딩 할 것입니다 :

var params = {}; 
$('table tr[id^="value_"]').each(function() { 
    params[this.id] = $(this).find('td:first').text(); 
}); 
alert($.param(params)); // alerts: value_12=firstanme_1&value_14=firstanme_2 

http://jsfiddle.net/EwSsu/

0

사용 $ (이) .children. ("첫 번째") 첫 번째 자식의 텍스트를 취득하기위한 텍스트().

serialData+='&' + $(this).attr('id') + '=' + $(this).attr('id')+'_'+$(this).children(":first").text(); 
0

사용이 최초의 TD의 값을 얻을 :

$(this).find("td:first-child").text();