2013-07-06 2 views
1

저는 매우 기본적인 html을 작성하고 CSS 선택기를 사용하여 하나의 요소 만 선택하려고했습니다. 그러나 쿼리는 배열의 요소 하나를 반환합니다. [0]으로 배열을 인덱싱하여 요소에 액세스 할 수 있지만 내 요소 만 반환하도록 쿼리를 수정하는 방법이 있습니까?CSS 선택기가 요소 배열을 반환하는 이유는 무엇입니까?

<input class='myInput' id='myId'> 

CSS는 선택기 : 크롬 dev에 콘솔에 사용

'input.myInput' 

, 나는 참조 :

[<input class='myInput' id='myId'>] 

대신 :

<input class='myInput' id='myId'> 
+0

jQuery 태그가 있어야하나요? – BjornJohnson

+0

@BjornJohnson : 나는 몰라. 엘리먼트를 선택하기 위해 네이티브 API 또는 jQuery를 사용하는지 여부는 명확하지 않습니다. – BoltClock

+0

예. 나는 더 많이 또는 더 적게 그에게 묻고 있었다. 방금 "당신은 jQuery를 사용하고 있습니까?" :) – BjornJohnson

답변

3

당신은 querySelector() 방법을 사용할 수 있습니다 , 항상 ret 쿼리에서 첫 번째 요소를 쓰레기통 : 당신이에 대한 [0] 인덱스를 사용 할 수 있도록

var element = document.querySelector('input.myInput'); 

jQuery를이 직접 해당이 없습니다.

2

jQuery는 반환 된 객체의 배열 인 jQuery 객체를 사용하여 쿼리를 반환합니다. 따라서 <input class="myInput" id="myId">을 찾으려는 라인을 얻으려면 배열의 0 번째 요소를 가져 오는 $('input.myInput')[0];입니다.이 경우 하나만 있지만 HTML 요소를 얻으려면 선택기 쿼리 후에 [0]이 필요합니다.

그냥 참고로 동일한 입력 얻을 THER 방법에 : 그들은 모두 반환 jQuery를 개체의 첫 번째 요소를 잡아 때문에 대신 [0]의 후

$('.myInput')[0]; 
$('#myId')[0]; 
$('input')[0]; 

또는 .first()와 위의 선택기 중 하나를.

관련 문제