본문 바로가기

FrontEnd/jQuery

[jQuery] 객체

$('li')


=> 모든 li태그 앨리먼트를 가져옴


var li = $('li')


li.css('text-decoration','underline')


=>모든 li태그 앨리먼트의 css 속성 text-decoration의 속성값을 underline으로 바꿈


li.css('text-decoration')


=>변수 li의 css 속성 text-decoration의 속성값을 호출함


그렇다면


for(var i =0; i<li.length; i++){


console.log(li[i])


}


를 출력하면


<li>a</li>

<li>d</li>

<li>c</li>


이다.


자 그러면


for(var i =0; i<li.length; i++){


console.log(li[i].constructor);

}


를 출력하면


HTMLLIElement()

HTMLLIElement()

HTMLLIElement()


가 출력되는데 이는 돔 객체이다. 이 말은 jQuery메소드가 통하지 않는다는 소리임


뭔 소리냐면


li[0].css('text-decoration','underline')


를 하게 되면


DOM객체에 jQuery메소드를 사용했으므로 오류가 남!


고로 굳이 사용할려면


for(var i =0; i<li.length; i++){


console.log($(li[i]).constructor);

}



이와 같은 식으로 제이쿼리 함수를 통해 제이쿼리 객체로 만들어 줘야함


다음의 리턴된 값은


이와 같은 식으로 제이쿼리 객체로 리턴됨


*이때 제이쿼리 함수에 $( ) 들어갈 요소가 ' '가 없는데 이유는 


DOM객체는 ''가 필요 없다는 것임.


예를 들어 var target = getElementById("target");


var t = $(target.constructor) 이런식으로 사용 가능함.

t의 리턴값은

target의 엘리먼트값임

'FrontEnd > jQuery' 카테고리의 다른 글

[jQuery] node 제어 API  (0) 2018.09.03
[jQuery] 조회범위 제한하기  (0) 2018.09.02
[jQuery]속성 제어API  (0) 2018.09.02
[jQuery]map메소드  (0) 2018.09.02
[jQuery]기본문법  (0) 2018.09.02