2013-06-18 6 views
4
이 행에 클릭하면 내가 행의 셀의 컬렉션을 얻을 관리

다음JQuery로 html 테이블 셀 텍스트 값을 가져 오는 방법은 무엇입니까?

$('.NamesGridClass tbody tr').bind('click', function() { 
    var ch = $(this).children(); 
    alert(ch[0] + ' ' + ch[1]); 
}); 

위의 선택 미리보기가 성공적으로 표시

[객체 HTMLTableCellElement] [객체 HTMLTableCellElement]

나는 ch[0].html(), ch[0].val(), ch[0].text()을 시도했으며 오류가 발생했습니다. 여기 어떻게 내 세포의 내용을 얻을 수 있습니까? .html()를 사용하려면

답변

3

, 당신은 jQuery를 객체로 해당 개체를 설정해야합니다

$(ch[0]).html() 

같은 당신이 적용 할 기타 유효한 jQuery를 메소드에 적용됩니다. 당신은 당신이 jQuery를에서 얻을 배열의 항목에 액세스 할 때

+0

왜? 단지'ch.html()' – jQuery00

+1

@ jQuery00, 물론, 똑같은 것을 적은 수의 문자로 처리합니다. 그러나 요점은'.html()'은 jQuery 객체에서만 작동한다는 것이다. 'ch'와'$ (ch [0])'모두 jQuery 객체입니다; 'ch [0]'은 그렇지 않습니다. –

6

네이티브 코드

ch[0].innerHTML 
+1

jquery 태그가 붙은 질문이므로 OP가 네이티브로가는 것이 바람직하지 않습니다. 예, 귀하의 "답변"은 효과가 있지만 OP가 왜 그가 시도하고 있는지 이해하지 못합니다. –

+0

jQuery'.html()'도 같은 방법을 사용하기 때문입니다. – jQuery00

+1

크로스 브라우저 호환성을 보장하기 위해 약간의 승부와 종료가 추가되었습니다. '.innerHTML'은 더 빠릅니다. '.html()'이 더 안전합니다. –

2

을 사용하십시오, 당신은 오래된 자바 스크립트 요소가 아닌 JQuery와 요소는 일반 다시 얻을. javascript .innerHTML을 사용하거나 jquery 선택기로 값을 이중으로 랩핑 할 수 있습니다. 더 간단하기 때문에 .innerHTML을 사용하는 것이 좋습니다.

$('.NamesGridClass tbody tr').bind('click', function() { 
     var ch = $(this).children(); 
     alert(ch[0].innerHTML + ' ' + ch[1].innerHTML); 
    }); 
+0

나는 그 권고에주의 할 것이다. OP가 오래된 브라우저를 지원해야한다면'.html()'을 사용하는 것이 더 안전합니다. –

관련 문제