2010-12-29 6 views
2

행에있는 표 셀을 강조 표시하려고합니다.선택기에서 jQuery 변수를 사용하는 방법

var $tr = $('tr:eq(' + row + ')'); 
$($tr:nth-child(col)).addClass('highlight'); 
+0

관련 HTML과 'row' 및'col' 값을 추가 할 수 있습니까? – Alex

+0

2 행의 ':'근처에 구문 오류가 있습니까? 의사 코드로 가정됩니까? – harpo

+0

나는 질문을 혼란스럽게하지 않도록 소스 코드를 최소한으로 유지하려고 노력했다. 어쩌면 지금부터는 전체 페이지를 게시 할 것입니다. 복사/붙여 넣기는 멋진 일입니다. –

답변

6
var $tr = $('tr:eq(' + row + ')'); 
$tr.find(':nth-child(' + col + ')').addClass('highlight'); 

.find() 사용. demo을 참조하십시오.

$('tr:eq(' + row + ') :nth-child(' + col + ')').addClass('highlight'); 

(Demo) 질문

에 관해서는


: 당신이 $tr에 대한 참조가 필요하지 않은 경우

또는, 당신은 하나의 선택을 통해 모든 것을 할 수 있습니다

선택기에서 jQuery 변수를 사용하는 방법

(모두) jQuery 탐색/선택기 메서드의 결과는 jQuery입니다. 이렇게하면 고급 체인을 수행 할 수 있습니다. 또한 jQuery 메소드가 정의 된 것도이 유형에 해당합니다. 이것은 필터링 등을 수행해야 함을 의미합니다. on 결과 개체.

$($tr:nth-child(1)).addClass('highlight'); 

그러나으로 다시 작성할 수 있습니다 : : 따라서, 다음 (:는 자바 스크립트 연산자, nth-child()는) 아마 (하는 자바 스크립트 함수로 정의되지되지 않음) 유효 여기

$tr.find(':nth-child(1)').addClass('highlight'); 

우리가 ' 선택기 :nth-child(1)을 에 할당 된 jQuery 개체에 다시 적용합니다. 이 객체는 DOM 요소의 수에 관계없이 심지어 0을 참조 할 수 있습니다.

+0

좋은, jsfiddle를 사용하는 것을 잊었습니다 :) – melaos

+0

jensgram, 이것은 매우 완전하고 잘 생각한 대답이었습니다. 고맙습니다. –

+0

@cf_PhillipSenn 감사합니다 ... 그리고 당신은 매우 환영합니다 :) – jensgram

-1

당신은 큰 따옴표의 첫 번째 세트를 탈출해야 -이 하나의 따옴표를 둡니다.

var row = "billy"; 
var $tr = $("tr:eq('" + row + "')"); 
$($tr:nth-child(col)).addClass('highlight'); 
1

나는 이렇게 추측하고 있습니까?

<html> 
<head> 
<style> 
.highlight{ 
    color:red; 
} 
</style> 
<script type="text/javascript" src="jquery-1.4.2.min.js" ></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    var row = 1; 
    var col = 2; 
    $("tr:nth-child(" + row + ") > td:nth-child(" + col + ")").addClass('highlight'); 

}); 
</script> 
</head> 
<body> 
<table> 
    <tr> 
     <td id="1">hello</td> 
     <td id="1">hello2</td> 
    </tr> 
    <tr> 
     <td id="2">world</td> 
     <td id="2">world2</td> 
    </tr> 
</table> 

</body> 
</html> 
+0

jsfiddle 무엇입니까? –

+0

이 페이지, http://jsfiddle.net/, 다른 사람들이 코드를 수정하고 시도 할 수 있도록 코드를 테스트하는 데 유용합니다. – melaos

관련 문제