티스토리 뷰
jQuery?
- 크로스브라우징
- 문법간결
- 요소를 선택하는 방법: $(css 선택자)
🙾 라이브러리 로드하기
- 반드시 라이브러리를 로드해야 실행됨 : <script src=""></script>
- <script></script>는 반드시 로드한 라이브러리 밑에 작성해야 실행됨
<script src="js/jquery-3.6.0.min.js"></script>
<script>
// document.querySelector('h1').style.color = 'blue';
$('h1').css({color:'blue'});
</script>
<script src="https://code.jquery.com/jquery-3.7.0.js"
integrity="sha256-JlqSTELeR4TLqP0OG9dxM7yDPqX1ox/HfgiSLBj8+kM="
crossorigin="anonymous"></script>
<script>
$(document).ready(function(){
$('h1').css({color:'blue'});
});
// js로 표현
// document.addEventListener('DOMContentLoaded',()=>{});
</script>
// $(document).ready(function(){ : jQuery 제일 첫 문장
// 더 간결하게 줄여쓰는 문법
$(function(){
// css 속성을 한 번만 변경 가능
$('h1').css('color','red');
$('.list li').css('color','blue');
// 한 번에 여러 스타일 변경
// $(선택자).css({"속성명":"값", "속성명":"값", 등등})
// 값이 문자면 ''에 입력, 숫자면 따옴표 필요없어도 됨
$('h2').css({color:'green', fontSize:'40px', opacity:'.5',
transform:'rotate(45deg)', transformOrigin:'0'});
// 선택자로 스타일 변경
$('#box div div').css({background:'silver'});
$('p:eq(1)').css({background:'silver'});
// $('p:nth-of-type(2)').css('background','silver');
// p:first, p:last, p:not('.active')
// 메서드 체인 (= 하나로 이어 쓰기)
let subTitle = $('h3');
// subTitle.css('color','blue');
// subTitle.css('fontSize','40px');
// subTitle.css('fontWeight','bold');
// 한번에 css를 연결 할 땐 앞 뒤로 '' 필수
subTitle.css('color','blue').css('fontSize','40px').css('fontWeight','bold');
// 제일 바람직한 방법 ({}안에 연결)
subTitle.css({color:'blue', fontSize:'40px', fontWeight:'bold'});
}); // 문서가 준비되면 할 일
🙾 attr / prop 차이
- prop: 원래 기능을 알려주는 속성 (기능을 바꿀때도 사용)
🙾 contents / text / html 차이
- text: 글씨만 출력 (글씨로 가져옴)
- contents: 객체로 출력 (객체로 가져옴)
- html: 태그로 출력 (태그로 가져옴)
▏선택자 정리
📚 제이쿼리 선택자(Selector) 종류 총정리
jQuery CSS 선택자 모음 기본 선택자 선택자 예제 설명 * $("*") 모든 요소를 선택 .class $(".class") 지정한 클래스를 가지는 모든 요소를 선택 element $("element") 지정된 태그명을 가지는 모든 요소를 선택
inpa.tistory.com
- 순번요소 선택: 대상.eq(index)
- 대상의 직속 부모: 대상.parent('선택자')
- 대상의 가까운 조상 중: 대상.closest('선택자')
- 대상의 형제(자매): 대상.siblings('선택자')
- 대상의 바로 전 요소: 대상.prev()
- 대상의 바로 다음 요소: 대상.next()
- 대상.show()
- 대상.hide()
- 슬라이드 아래로 열고 접는 속성
⇨ 대상.slideDown()
⇨ 대상.slideUp()
- 슬라이드 펼치고 접는 속성
⇨ 대상.slideToggle()
🙾 대상 찾기
- 대상.children('선택자') = 대상.find('선택자')
대상.find('.active');
⇨ 대상의 자식요소 중
⇨ 공백이 있는 것
ex) images.find('active') == #images p .active
대상.filter('.active');
⇨ 대상 자신 중
⇨ 공백이 없는 것
ex) images.find('active') == #images p.active
▏event
$(function(){
/*
대상.on('이벤트종류',할일);
대상.on('이벤트종류',대상,할일);
*/
let mainTT = $('h1');
/*
mainTT.on('mouseover', function(){
mainTT.css({background:'silver'})
});
mainTT.on('mouseout', function(){
mainTT.css({background:'yellow'})
});
*/
// 첫번째 방법: 메소드 체인 방식으로 줄이기
/*
mainTT.on('mouseover', function(){
mainTT.css({background:'silver'})
})
.on('mouseout', function(){
mainTT.css({background:'yellow'})
});
*/
// 두번째 방법: on 없애기
mainTT.mouseover(function(){
mainTT.css({background:'silver', color:'black'})
})
.mouseout(function(){
mainTT.css({background:'aquamarine', color:'blue'})
});
// 세번째 방법: function 없애기
/*
mainTT.mouseover(()=>{
mainTT.css({background:'silver'})
})
.mouseout(()=>{
mainTT.css({background:'yellow'})
});
*/
//h2와 h3에 마우스호버를 하면 글씨색이 blue, 나가면 black
//js의 this와 다르게 제이쿼리에선 $(this)로 사용
//js와 제이쿼리 둘 다 동일하게 arrow로는 this를 사용 할 수 없음
let subTT = $('h2, h3');
/*
subTT.mouseover(function(){
$(this).css({color:'blue'})
})
.mouseout(function(){
$(this).css({color:'black'})
});
*/
// 네번째 방법: hover라는 속성으로 할 일 입력
/*
대상.hover(
function(){},
function(){}
)
*/
subTT.hover(
function(){
$(this).css({color:'blue'})
},
function(){
$(this).css({color:'black'})
}
)
});//document ready 할일
🙾 이벤트 강제 실행
대상.trigger('이벤트종류');
🙾 keydown / keypress
- keydown: 입력 한 번만 작동
- keypress: 누르고 있을 때는 계속 작동
⇨ 글씨가 나오는 것만 확인 가능
'jQuery' 카테고리의 다른 글
fade / sticky / shrinking-nav-bar (0) | 2023.10.10 |
---|---|
Tab / light box / back to top (0) | 2023.10.10 |
animation 한 번만 작동하게 하기 (0) | 2023.10.10 |
each 함수 / aside menu (0) | 2023.10.10 |
submenu(서브메뉴) / Loading animation bar (0) | 2023.10.10 |