나는 jQuery를 처음 사용하며 이것이 어리석은 질문이라면 사과드립니다.
ID를 사용하여 요소를 찾을 때 항상 하나의 일치 항목이 있음을 알고 있으며 액세스하기 위해 색인 [0]을 사용합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? 예를 들어
var gridHeader = $("#grid_GridHeader")[0];
답변:
document.getElementById('id'), 객체의 래퍼로 선택 엔진에서 엄청난 낭비의 그 ... 그냥 멀리 던져의 jQuery 객체를 생성하지 않습니다, 그것은 :) 더 좋은 이유에 대해 단지 잔인한
document.getElementById('id')로를 $('#id')[0]하지만 좋아하지 않았다 [0]. 낭비에 대한 귀하의 의견은 $0 = function(id){return document.getElementById(id);}내가 정의하려고 생각하게 만들었고 이제는 $0('id')더 좋아졌습니다. 문자의 같은 숫자는 $('#id'), 난 그냥이 될 수 있으면 좋겠다$#('id')
첫 번째 방법을 사용할 수 있습니다.
$('li').first()
btw Nick Craver에 동의합니다-document.getElementById ()를 사용하십시오 ...
[]평가 되므로 논리 문에서 사용하는 데주의하십시오 true.
요소가 하나만 있다는 가정하에 :
$("#grid_GridHeader")[0]
$("#grid_GridHeader").get(0)
$("#grid_GridHeader").get()
... 모두 동일하며 단일 기본 요소를 반환합니다.
jQuery 소스 코드 get(0)에서는 기본적으로 [0]접근 방식 과 동일한 작업을 수행 한다는 것을 알 수 있습니다 .
// Return just the object
( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
$("#grid_GridHeader").eq(0)
$("#id") /* jQuery object */ != $("#id").get(0) /* DOM Object */