본문 바로가기

Programming/jQuery

jQuery : 오늘 정말 엄청난 삽질을 하였습니다. selector .. id 때문이지요.

후아. 이 삽질로 한시간 30분이 흘렀군요.

$('#id_of_input')

위 jquery 코드를 실행하였을때 select 되는 것은 무엇일까요?

alert을 해보면 object입니다.
무슨 object 인지 답답해 죽을거같아도 여튼 object 입니다.

제가 원하는 것은 text type의 input 에 어떤 data를 추가해야하는 것이었습니다.
반복문을 돌리면서 열심히를 연구하면서 갖가지 방법으로 data를 삽입하려 했지요.
$('#id_of_input') = 'some data';
$('#id_of_input').value = 'some data'; 
$('#id_of_input').value('some data'); 
$('#id_of_input').text('some data'); 

 ...

외에 별별 기상천외한 방법으로 some data를 id_of_input 이라는 id를 가진 input 에 append하려고 하였죠.

하지만 계속 에러가 났습니다.

jquery에 대한 인지부족인지, css 에 대한 인지부족인지, javascript에 대한 인지부족인지, 아니면 그냥 바보인건지
계속 낙담을 하던차에

설마하는 생각으로
$('#id_of_input')[0].value = 'some data';

잘 먹히더군요.

document.getElementById('some_id'); 가 아니라 document.getElementsByName('some_name');
같은 효과를 보이는 기분이 들더군요.

여튼 jQuery에서 unique한 id를 select 하더라도
array 처럼 배열 형태의 object를 반환한다는 것을 명심해야겠습니다.
따라서 DOM에 select하려는 ID가 1개 뿐이라면 [0] 와 같은 강제적인 접근을 하셔야하겠습니다... 


관련 문서는 추후 접하게 된다면 첨부하도록 하겠습니다.