제이쿼리
제이쿼리는 자바스크립트 라이버리를 이용해 만든 언어입니다. 제이쿼리는 HTML에 표함되어 있는 클라이언트 사이드 스크립트 언어를 단순화하도록 설계된 웹 브라우저 호환성을 가진 자바스크립트 라이브러리입니다.
제이쿼리 다운로드
제이쿼리를 사용하기 위해서는 제이쿼리 라이브러리 파일을 다운 받아야 합니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
</head>
<body>
<script src="../jquery.min_1.12.4.js"></script>
</body>
</html>
제이쿼리 준비
jQuery(document).ready(function(){
//실행코드
});
jQuery를 $로 치환하여 사용할 수 있습니다.
$(document).ready(function(){
//실행코드
});
간단한 형태로도 단축해서 사용할 수 있습니다.
$(function(){
//실행코드
});
자바스크립트 사용방법
window.onload = function(){
//실행코드
}
선택자
선택자는 HTML요소를 선택하여 가져옵니다. 제이쿼리 선택자는 CSS 선택자와 마찬가지로 선택한 요소의 디자인 속성을 적용할 때 사용할 수 있습니다.
기본 선택자
종류 | 예시 | 설명 |
---|---|---|
태그 선택자 | $("p") | 기본 태그를 선택합니다. |
클래스 선택자 | $(".class") | 클래스 태그를 선택합니다. |
아이디 선택자 | $("#id") | 아이디 태그를 선택합니다. |
그룹 선택자 | $("p, .class, #id") | 여러가지 태그를 선택합니다. |
전체 선택자 | $("*") | 전체 태그를 선택합니다. |
계층 선택자
종류 | 예시 | 설명 |
---|---|---|
하위 선택자(Descendant Selector) | $("div p") | div 태그의 모든 자식 중 p 태그를 모두 선택합니다. |
자식 선택자(Child Selector) | $("div > p") | div 태그의 모든 자식 중 첫번째 자식 p 태그를 선택합니다. |
형제 선택자(Next Adjacent Selector) | $("div + p") | div 태그의 인접한 형제 p 태그 중 첫번째 태그만 선택합니다. |
형제들 선택자(Next Siblings Selector) | $("div ~ p") | div 태그의 인접한 형제 p 태그를 모두 선택합니다. |
속성 선택자
종류 | 예시 | 설명 |
---|---|---|
[name|="value"] | $("li a[href|='web']") | 속성 중에 'web'과 같은 속성 값을 선택합니다. |
[name*="value"] | $("li a[href*='web']") | 속성 중에 'web'가 포함되어 있는 태그를 선택합니다. |
[name~="value"] | $("li a[href~='web']") | 속성 중에 'web'으로 시작하는 태그를 선택합니다. |
[name$="value"] | $("li a[href$='web']") | 속성 중에 'web'으로 끝나는 태그를 선택합니다. |
[name="value"] | $("li a[href='web']") | 속성 중에 'web'와 일치하는 속성 값을 선택합니다. |
[name!="value"] | $("li a[href!='web']") | 속성 중에 'web'와 일치하지 않는 태그를 선택합니다. |
[name^="value"] | $("li a[href^='web']") | 속성 중에 'web'로 시작하는 태그를 선택합니다. |
[name] | $("li a[href]") | 속성 중에 일치하는 속성을 선택합니다. |
[name="value"][name="value"] | $("li a[href][class]") | 속성 중에 'href' 속성과 'class' 속성이 모두 있는 태그를 선택합니다. |
기본 필터 선택자
종류 | 설명 |
---|---|
:animated | 선택된 집합에서 show, hide, slideDown, slideUp등의 애니메이션 태그를 선택합니다. |
:eq(index) | 선택된 태그들의 인덱스 번호를 통해 선택합니다. |
:gt(index) | 선택된 집합에서 인덱스보다 큰 인덱스를 가지고 있는 태그들을 선택합니다. |
:lt(index) | 선택된 집합에서 인덱스보다 작은 인덱스를 가지고 있는 태그들을 선택합니다. |
:header | 선택된 집합에서 제목 요소(h1~h6)들을 선택합니다. |
:first | 선택된 요소 중에서 첫 번째 요소를 찾아 선택합니다. |
:last | 선택된 요소 중에서 마지막 번째 요소를 찾아 선택합니다. |
:odd | 선택된 요소 중에서 홀수 번째 요소를 찾아 선택합니다. |
:even | 선택된 요소 중에서 짝수 번째 요소를 찾아 선택합니다. |
:not() | 선택된 요소 중에서 현재 선택한 요소의 반대 요소를 선택합니다. |
:root() | 문서의 가장 기본 루트 요소를 선택합니다. |
:lang() | 선택된 요소 중에서 언어 속성 요소를 선택합니다. |
내용 필터 선택자
종류 | 설명 |
---|---|
:contains() | 선택된 집합의 일치하는 문자열 요소를 선택합니다. |
:empty | 선택된 집합 요소에 텍스트가 없을 때 선택됩니다. |
:has() | 선택된 집합의 일치하는 요소를 선택합니다. |
:parent | 선택된 집합 요소에 텍스트가 있들 때에 선택됩니다. |
보임 필터 선택자
종류 | 설명 |
---|---|
:hidden | 보이지 않는 요소를 선택합니다. |
:visible | 보이는 요소를 선택합니다. |
자식요소 필터 선택자
종류 | 설명 |
---|---|
:first-child | 첫 번째 자식 요소를 선택합니다. |
:first-of-type | 자식 중 첫 번째 유형의 자식 요소를 선택합니다. |
:last-child | 마지막 번째 자식 요소를 선택합니다. |
:last-of-type | 자식 중 마지막 번째 유형의 자식 요소를 선택합니다. |
:nth-child() | index번째에 있는 자식 요소를 선택합니다. |
:nth-last-child() | index번째에 있는 마지막 자식 요소를 선택합니다. |
:nth-last-of-type() | index번째에 있는 마지막 유형의 자식 요소를 선택합니다. |
:nth-of-type() | index번째에 있는 유형의 자식 요소를 선택합니다. |
:only-child | 자식 요소가 오직 하나인 요소를 선택합니다. |
:only-of-type() | 자식 요소 중 오직 하나 유형인 요소를 선택합니다. |
폼 요소 필터 선택자
종류 | 설명 |
---|---|
:button | 버튼 입력 양식을 선택합니다. |
:checkbox | 체크박스 입력 양식을 선택합니다. |
:checked | :checked된 입력 양식을 선택합니다. |
:disabled | :disabled된 입력 양식을 선택합니다. |
:enabled | :enabled된 입력 양식을 선택합니다. |
:focus | 입력 양식에 포커스된 태그를 선택합니다. |
:file | 파일 업로드 양식을 선택합니다. |
:image | 이미지 입력 양식을 선택합니다. |
:input | 모든 입력 양식을 선택합니다. |
:password | 암호 입력 양식을 선택합니다. |
:radio | 라디오 버튼 입력 양식을 선택합니다. |
:reset | 리셋 입력 양식을 선택합니다. |
:selected | :selected된 입력 양식을 선택합니다. |
:submit | 데이터 보내기 입력 양식을 선택합니다. |
:text | 텍스트 박스 양식을 선택합니다. |
선택자
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
</head>
<body>
<h1>제이쿼리</h1>
<div id="sample">
<div id="list1" class="list">
<li class="one1"><a href="#list2">one1</a></li>
<li class="one2"><a href="https://www.naver.com">one2</a></li>
<li class="one3"><a href="https://www.daum.net" target="_blank">one3</a></li>
<li class="one4"><a href="#">one4</a></li>
<li class="one5"><a href="#">one5</a></li>
<li class="one6"><a href="#">one6</a></li>
<li class="one7"><a href="#">one7</a></li>
<li class="one8"><a href="#">one8</a></li>
<li class="one9"><a href="#">one9</a></li>
<li class="one10"><a href="#">one10</a>
<ul>
<li style="width:0; height: 0; overflow: hidden;">one10-1</li>
<li style="opacity: 0;">one10-2</li>
<li style="visibility: hidden;">one10-3</li>
<li style="display: none;">one10-4</li>
<li>one10-5</li>
</ul>
</li>
</div>
<div id="list2" class="list">
<li class="one1"><a href="#">one1</a></li>
<li class="one2"><a href="#">one2</a></li>
<li class="one3"><a href="#">one3</a></li>
<li class="one4"><a href="#">one4</a></li>
<li class="one5"><a href="#">one5</a></li>
<li class="one6"><a href="#">one6</a></li>
<li class="one7"><a href="#"></a></li>
<li class="one8"><a href="#">one8</a></li>
<li class="one9"><a href="#">one9</a></li>
<li class="one10"><a href="#">one10</a></li>
</div>
</div>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
//$("li").css("background-color","#bbdefb");
$("li").css("margin","3px");
//기본 선택자
//$("li").css("border","1px dashed #303f9f")
//$(".one3").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("#list1").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("div, li").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("*").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//계층 선택자
//$(".list li").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$(".list > li").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$(".one4 + li").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$(".one4 ~ li").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//속성 선택자
//$("li a[href='#list2']").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li a[href^='https']").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li a[href$='com']").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li a[href*='www']").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li a[href!='https://www.naver.com']").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li a[href][target]").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//기본 필터(:) 선택자
//$("li:eq(1)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:gt(4)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$(".one5 ~ li").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:lt(4)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$(":header").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:first").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:last").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:odd").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:even").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//내용 필터 선택자
//$("li:contains('one5')").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li a").css({"display":"block", "height":"20px"});
//$("li a:empty").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li a:parent").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:has(li)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//보임 필터 선택자
//$("li:hidden").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:visible").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//자식 요소 필터 선택자
//$("li:first").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:first-child").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:last").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:last-child").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:last-child(3)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:last-child(even)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:last-child(odd)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
//$("li:last-child(3n+1)").css({"background-color":"#bbdefb" , "border":"1px dashed #303f9f"});
</script>
</body>
</html>
탐색
탐색은 제이쿼리 선택자를 기준으로 선택한 요소에서 원하는 요소를 다시 한 번 선택하는 메서드입니다. 탐색은 트리구조와 필터 영역으로 나눌 수 있으며 역할과 성질은 선택자와 비슷합니다.
유형 | 메서드 | 설명 |
---|---|---|
트리구조 탐색(Tree Traversal) | .children() | 선택한 요소의 바로 아래 자식 요소만 선택합니다. |
.closest() | 선택한 요소를 포함하면서 가장 가까운 상위 요소를 선택합니다. | |
.find()♥ | 선택한 요소의 자식 요소 중 조건에 맞는 요소를 선택합니다. | |
.next() | 선택한 요소를 다음 형제 요소를 선택합니다. | |
.nextAll() | 선택한 요소의 다음 모든 형제 요소를 선택합니다. | |
.nextUntil() | 선택한 요소의 다음 요소 중 조건에 맞을 때까지 찾아 선택합니다. | |
.parent() | 선택한 요소의 부모 요소를 선택합니다. | |
.parents() | 선택한 요소의 모든 부모 요소를 선택합니다. | |
.parentsUntill() | 선택한 요소의 모든 부모 요소 중 조건에 맞을 때까지 찾아 선택합니다. | |
.prev() | 선택한 요소의 이전 요소를 선택합니다. | |
.prevAll() | 선택한 요소의 모든 이전 요소를 선택합니다. | |
.prevUntil() | 선택한 요소의 모든 이전 요소를 중 조건에 맞을 때까지 찾아 선택합니다. | |
.siblings() | 선택한 요소의 형제 요소를 모두 선택합니다. | |
필터링(Filtering) | .eq(index)♥ | 선택한 요소의 인덱스 번호에 해당하는 요소를 찾습니다. |
.filter() | 선택한 요소에서 선택하거나 함수를 사용할 수 있습니다. | |
.first() | 선택한 요소에서 첫번째 자식을 선택합니다. | |
.has() | 선택한 요소의 자식 요소에서 주어진 선택자를 찾습니다. | |
.is() | 선택한 요소 객체의 특징을 판별합니다. | |
.last() | 선택한 요소에서 마지막 번째 자식을 선택합니다. | |
.map() | 선택한 요소의 배열 집합을 새롭게 변경합니다. | |
.not() | 선택한 요소에서 조건에 맞지 않는 것을 선택합니다. | |
.slice() | 선택한 요소에서 조건의 범위로 재 선택합니다. | |
기타(Miscellaneous) | .add() | 선택한 요소에 새로운 요소를 추가합니다. |
.addBack() | 선택한 요소의 상위 요소도 같이 선택합니다. | |
.contents() | 선택한 요소와 일치하는 콘텐츠 요소를 선택합니다. | |
.each()♥ | 선택한 요소들을 각각 순차적으로 실행합니다. | |
.end() | 선택한 요소의 필터링이 일어나기 이전의 요소를 선택합니다. |
탐색
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
<style>
.choice a {
border-radius: 5px;
margin: 5px;
display: inline-block;
border: 1px solid #5f6368; padding: 7px 20px;
text-decoration: none;
color: #000;
}
.choice a:hover { text-decoration: underline;}
.on { background-color: #bbdefb; border: 1px dashed #303f9f;}
</style>
</head>
<body>
<div class="choice">
<a href="#" class="reset">Reset</a>
<a href="#" class="btn1">.children()</a>
<a href="#" class="btn2">.find()</a>
<a href="#" class="btn3">.next()</a>
<a href="#" class="btn4">.nextAll()</a>
<a href="#" class="btn5">.parent()</a>
<a href="#" class="btn6">.parents()</a>
<a href="#" class="btn7">.parentsUntil()</a>
<a href="#" class="btn8">.prev()</a>
<a href="#" class="btn9">.prevAll()</a>
</div>
<div class="choice">
<a href="#" class="sbtn1">.eq()</a>
<a href="#" class="sbtn2">.filter()</a>
<a href="#" class="sbtn3">.first()</a>
<a href="#" class="sbtn4">.last()</a>
<a href="#" class="sbtn5">.has()</a>
<a href="#" class="sbtn6">.not()</a>
<a href="#" class="sbtn7">.slice()</a>
</div>
<div class="list">
<ul>
<li class="list1">첫 번째 리스트1 입니다.</li>
<li class="list2">첫 번째 리스트2 입니다.</li>
<li class="list3">첫 번째 리스트3 입니다.
<ul>
<li>첫 번째 리스트1-1 입니다.</li>
<li>첫 번째 리스트1-2 입니다.</li>
<li>첫 번째 리스트1-3 입니다.
<ul>
<li>첫 번째 리스트1-3-1 입니다.</li>
<li class="select">첫 번째 리스트1-3-2 입니다.</li>
<li>첫 번째 리스트1-3-3 입니다.</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class="slist">
<li class="list1">두 번째 리스트1 입니다.</li>
<li class="list2">두 번째 리스트2 입니다.</li>
<li class="list3">두 번째 리스트3 입니다.</li>
<li class="list4">두 번째 리스트3 입니다.</li>
<li class="list5">두 번째 리스트3 입니다.</li>
<li class="list6">두 번째 리스트3 입니다.</li>
</ul>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
//btn1을 클릭하면 모든 태그에 on클래스를 제거
$(".reset").click(function(){
$("*").removeClass("on");
});
//childen을 클릭하면 모든 태그에 on클래스를 추가
$(".btn1").click(function(){
$(".list li").children().addClass("on");
});
$(".btn2").click(function(){
$(".list li").find("li").addClass("on");
});
$(".btn3").click(function(){
$(".list li li:first").next().addClass("on")
})
$(".btn4").click(function(){
$(".list li:first").nextAll().addClass("on")
})
$(".btn5").click(function(){
$(".list2").parent().addClass("on")
})
$(".btn6").click(function(){
$(".list2").parents().addClass("on")
})
$(".btn7").click(function(){
$(".list2").parentsUntil(".list").addClass("on")
})
$(".btn8").click(function(){
$(".list3").prev().addClass("on")
})
$(".btn9").click(function(){
$(".list3").prevAll().addClass("on")
})
$(".sbtn1").click(function(){
$(".list ul li").eq(1).addClass("on");
})
$(".sbtn2").click(function(){
//$(".list ul li").filter(":even").addClass("on");
$(".list ul li").filter(".select").addClass("on");
})
$(".sbtn3").click(function(){
$(".list ul li").first().addClass("on");
//$(".list ul li:fitst").addClass("on");
})
$(".sbtn4").click(function(){
$(".list ul li").last().addClass("on");
//$(".list ul li:last").addClass("on");
})
$(".sbtn5").click(function(){
$(".list li").has(".select").addClass("on");
})
$(".sbtn6").click(function(){
$(".list li").not(".select").addClass("on");
})
$(".sbtn7").click(function(){
//$(".slist li").slice(2).addClass("on");
//$(".slist li").slice(2,5).addClass("on");
$(".slist li").slice(-4,-1).addClass("on");
})
</script>
</body>
</html>
each
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
<style>
li {margin: 8px;}
a {border: 1px solid #5f6368; padding: 7px 20px 5px 20px; display: inline-block;
border-radius: 20px; text-decoration: none; color: #000; margin: 4px;}
.onRed {padding: 4px 6px 2px 6px; font-size: 90%; color: #c7254e;
white-space: nowrap; background-color:#f9f2f4; border-radius: 4px; border: 1px dashed #a51a3d; }
.onBlue {padding: 4px 6px 2px 6px; font-size: 90%; color: #3d90b7;
white-space: nowrap; background-color:#e7f6fd; border-radius: 4px; border: 1px dashed #3d90b7;}
</style>
</head>
<body>
<div class="choice">
<a href="#"class="btn1">addClass()</a>
<a href="#"class="btn2">each()</a>
<a href="#"class="btn3">setTimeout()</a>
</div>
<div class="list">
<ul>
<li>.children() : 선택한 요소의 바로 아래 자식 요소만 선택합니다.
<li> .closest() : 선택한 요소를 포함하면서 가장 가까운 상위 요소를 선택합니다.</li>
<li>.find() : 선택한 요소의 자식 요소 중 조건에 맞는 요소를 선택합니다.</li>
<li>.next() : 선택한 요소를 다음 형제 요소를 선택합니다.</li>
<li> .nextAll() : 선택한 요소의 다음 모든 형제 요소를 선택합니다.</li></li>
</ul>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
//버튼1을 클릭하면 리스크에 있는 글씨 색을 빨간색으로 변경해주세요
$(".btn1").click(function(){
$(".list li").addClass("onRed");
})
//버튼2을 클릭하면 리스크에 있는 글씨 색을 빨간색으로 변경해주세요
$(".btn2").click(function(){
$(".list li").each(function(){
$(".list li").addClass("onBlue");
});
})
$(".btn3").click(function(){
$(".list li").each(function(index){
setTimeout(function(){
$(".list li").eq(index).addClass("onRed")
}, 1000 * (index+2));
});
});
</script>
</body>
</html>
속성(Attribues)
유형 | 메서드 | 설명 |
---|---|---|
Attributes | .attr() ♥ | 선택한 요소의 HTML 속성 값을 설정하거나 반환합니다. |
.prop() | 선택한 요소의 javascript 속성 값을 설정하거나 반환합니다. | |
.removeAttr() | 선선택한 요소의 HTML 속성 값을 제거합니다. | |
.removeprop() | 선택한 요소의 javascript 속성 값을 제거합니다. | |
.val() | 선택한 폼 요소의 속성 값을 설정하거나 반환합니다. | |
CSS | .addClass() ♥ | 선택한 요소의 클래스를 추가합니다. |
.css() ♥ | 선택한 요소의 CSS 속성 값을 설정하거나 변경합니다. | |
.hasClass() ♥ | 선택한 요소의 클래스가 있는지를 찾습니다. | |
.removeClass() | 선택한 요소의 클래스를 삭제합니다. | |
.toggleClass() ♥ | 선택한 요소에 클래스의 추가/제거를 연속하여 사용할 수 있습니다. | |
Dimensions | .height() | 선택한 요소의 높이(패딩/마진/보더 불포함)를 설정하거나 반환합니다. |
.innerHeight() | 선택한 요소의 높이(패딩포함, 마진/보더 불포함)를 설정하거나 반환합니다. | |
.innerWidth() | 선택한 요소의 가로(패딩포함, 마진/보더 불포함)를 설정하거나 반환합니다. | |
.outerHeight() | 선택한 요소의 높이(패딩/보더포함, 마진 불포함)를 설정하거나 반환합니다. | |
.outerWidth() | 선택한 요소의 가로(패딩/보더포함, 마진 불포함)를 설정하거나 반환합니다. | |
.width() | 선택한 요소의 가로(패딩/마진/보더 불포함)를 설정하거나 반환합니다. | |
offset | .offset() ♥ | 선택한 요소의 위치 좌표 값(문서 기준)을 설정하거나 반환합니다. |
.offsetParent() | 선택한 요소의 부모 위치 좌표 값(문서 기준)을 설정하거나 반환합니다. | |
.position() | 선택한 요소의 위치 좌표 값(기준점 기준)을 설정하거나 반환합니다. | |
.scrollLeft() ♥ | 선택한 요소의 가로 스크롤 값을 설정하거나 반환합니다. | |
.scrollTop() ♥ | 선택한 요소의 세로 스크롤 값을 설정하거나 반환합니다. |
attr()
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
<style>
li {margin: 8px;}
a {border: 1px solid #5f6368; padding: 7px 20px 5px 20px; display: inline-block;
border-radius: 20px; text-decoration: none; color: #000; margin: 4px;}
.onRed {padding: 4px 6px 2px 6px; font-size: 90%; color: #c7254e;
white-space: nowrap; background-color:#f9f2f4; border-radius: 4px; border: 1px dashed #a51a3d; }
.onBlue {padding: 4px 6px 2px 6px; font-size: 90%; color: #3d90b7;
white-space: nowrap; background-color:#e7f6fd; border-radius: 4px; border: 1px dashed #3d90b7;}
</style>
</head>
<body>
<div class="choice">
<a href="#" class="btn1">이미지 크기를 100px</a>
<a href="#" class="btn2">주소값 가져오기</a>
<a href="#" class="btn3">alt값 가져오기</a>
<a href="#" class="btn4">이미지 주소값 변경 </a>
</div>
<div class="list">
<p class="text"></p>
<img src="../../photoshop/img/sample01.jpg" alt="이미지">
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
//버튼1을 클릭하면 이미지 사이즈를 100px로 변경하세요~
$(".btn1").click(function(){
$(".list img").css("width","100px")
});
$(".btn2").click(function(){
let text = $(".list img").attr("src");
$(".list .text").text(text);
})
//버튼3을 클릭하면 이미지의 alt 값을 가져와서 출력시켜주세요
$(".btn3").click(function(){
let text = $(".list img").attr("alt");
$(".list .text").text(text);
})
$(".btn4").click(function(){
$(".list img").attr("src","../../photoshop/img/sample02.jpg")
})
</script>
</body>
</html>
attr()
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
<style>
*{margin: 0; padding: 0; text-align: center;}
li {list-style: none;}
a {text-decoration: none; color: #666666;}
#tab-menu {width: 350px; margin: 50px auto; background: #ccc;}
.tab-btn ul{overflow: hidden; }
.tab-btn li{float: left; width: 20%; }
.tab-btn li a{padding: 10px; display: block; background: #1e88e5; color: #fff;}
</style>
</head>
<body>
<div id="tab-menu">
<div class="tab-btn">
<ul>
<li><a href="#">Tab1</a></li>
<li><a href="#">Tab2</a></li>
<li><a href="#">Tab3</a></li>
<li><a href="#">Tab4</a></li>
<li><a href="#">Tab5</a></li>
</ul>
</div>
<div class="tab-cont">
<img src="../../assets/img/svg-carrot.svg" alt="당근">
</div>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
//글씨를 클릭하면 글끼 색을 빨간색으로 변경
// $(".tab-btn a").click(function(){
// $(".tab-btn a").css("color","red")
// })
//글씨를 클릭하면 클릭한 글씨 색만 빨간색으로 변경
// $(".tab-btn a").click(function(){
// $(this).css("color","red")
// })
//글씨를 클릭하면 tab -> menu로 변경하세요
// $(".tab-btn a").click(function(){
// $(".tab-btn a").text("menu")
// })
//글씨를 클릭하면 tab ->munu3, tab2 ->menu2 변경하세요
$(".tab-btn ul li").click(function(){
let target = $(this);
let index = target.index()+1;
target.find("a").text("Menu" + index)
})
$(".tab-btn ul li:eq(0)").click(function(){
$(".tab-cont img").attr({"src":"../../assets/img/svg-carrot.svg", "alt":"당근"})
})
$(".tab-btn ul li:eq(1)").click(function(){
$(".tab-cont img").attr({"src":"../../assets/img/svg-cherries.svg", "alt":"체리"})
})
$(".tab-btn ul li:eq(2)").click(function(){
$(".tab-cont img").attr({"src":"../../assets/img/svg-donut.svg","alt":"도넛"})
})
$(".tab-btn ul li:eq(3)").click(function(){
$(".tab-cont img").attr({"src":"../../assets/img/svg-hotdog.svg","alt":"핫도그"})
})
$(".tab-btn ul li:eq(4)").click(function(){
$(".tab-cont img").attr({"src":"../../assets/img/svg-lemon.svg","alt":"레몬"})
})
</script>
</body>
</html>
addClass()
VIEW<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery</title>
<style>
* { margin: 0; padding: 0; text-align: center;}
li {list-style: none;}
a { text-decoration: none; color: #666;}
#tab-menu { width: 350px; margin: 50px auto; background: #ccc;}
.tab-btn ul { overflow: hidden;}
.tab-btn li {float: left ;width: 20%;}
.tab-btn li a {padding: 10px; display: block; background: #1e88e5 ; color: #fff; }
#tab-cont { width: 350px; height: 350px;}
#tab-cont.img1{ background: url(../../assets/img/svg-carrot.svg); background-size: 350px;}
#tab-cont.img2{ background: url(../../assets/img/svg-cherries.svg); background-size: 350px;}
#tab-cont.img3{ background: url(../../assets/img/svg-donut.svg); background-size: 350px;}
#tab-cont.img4{ background: url(../../assets/img/svg-hotdog.svg); background-size: 350px;}
#tab-cont.img5{ background: url(../../assets/img/svg-lemon.svg); background-size: 350px;}
</style>
</head>
<body>
<div id="tab-menu">
<div class="tab-btn">
<ul>
<li><a href="#">Tab1</a></li>
<li><a href="#">Tab2</a></li>
<li><a href="#">Tab3</a></li>
<li><a href="#">Tab4</a></li>
<li><a href="#">Tab5</a></li>
</ul>
</div>
<div id="tab-cont" class="img2">
</div>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
//글씨를 클릭하면 클릭한 글씨만 파란색으로 변경
$(".tab-btn li a").click(function(){
$(this).css("color","blue")
});
//글씨를 클릭하면 클릭한 이미지 변경
$(".tab-btn li:eq(0)").click(function(){
$("#tab-cont").removeClass().addClass("img1");
});
$(".tab-btn li:eq(1)").click(function(){
$("#tab-cont").removeClass().addClass("img2");
});
$(".tab-btn li:eq(2)").click(function(){
$("#tab-cont").removeClass().addClass("img3");
});
$(".tab-btn li:eq(3)").click(function(){
$("#tab-cont").removeClass().addClass("img4");
});
$(".tab-btn li:eq(4)").click(function(){
$("#tab-cont").removeClass().addClass("img5");
});
</script>
</body>
</html>
addClass()
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
</head>
<body>
<div class="choice">
<a href="#" class="btn1">클릭하면 글씨의 색을 빨간색으로 변경해주세요!</a><br>
<a href="#" class="btn2">클릭하면 글씨의 컬러 값을 알려주세요!</a><br>
<a href="#" class="btn3">클릭하면 글씨의 컬러 값을 파란색으로 폰트 사이즈는 30px로 변경해주세요</a><br>
<a href="#" class="btn4">클릭하면 글씨를 클릭할 대 마다 크게 해주세요!</a><br>
<a href="#" class="btn5">클릭하면 글씨를 클릭할 대 마다 작게 해주세요!</a><br>
</div>
<div class="list">
<ul>
<li>.addClass() : 선택한 요소의 클래스를 추가합니다.</li>
<li>.attr() : 선택한 요소의 HTML 속성 값을 설정하거나 반환합니다.</li>
<li>.offset() : 선택한 요소의 위치 좌표 값(문서 기준)을 설정하거나 반환합니다.</li>
<li>.scrollTop() : 선택한 요소의 세로 스크롤 값을 설정하거나 반환합니다.</li>
<li>.toggleClass() : 선택한 요소에 클래스의 추가/제거를 연속하여 사용할 수 있습니다.</li>
</ul>
<p class="text"></p>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
$(".btn1").click(function(){
$(".list ul li").css("color","red")
});
$(".btn2").click(function(){
let value = $(".list li").css("color");
$(".text").text("이 폰트의 색은" + value + "입니다");
});
$(".btn3").click(function(){
$(".list li").css({"color":"blue", fontSize:"30px"});
});
$(".btn4").click(function(){
$(".list li").css({fontSize:function(index, value){
return parseFloat(value) * 1.2
}});
});
$(".btn5").click(function(){
$(".list li").css({fontSize:function(index, value){
return parseFloat(value) * 0.8
}});
});
</script>
</body>
</html>
hasClass()
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
</head>
<body>
<div class="cjpoce">
<a href="#" class="btn1">클릭하면 select 클래스를 찾은 후 효과를 주세요</a>
</div>
<div class="list">
<ul>
<li>.addClass() : 선택한 요소의 클래스를 추가합니다.</li>
<li>.attr() : 선택한 요소의 HTML 속성 값을 설정하거나 반환합니다.</li>
<li class="select">.offset() : 선택한 요소의 위치 좌표 값(문서 기준)을 설정하거나 반환합니다.</li>
<li>.scrollTop() : 선택한 요소의 세로 스크롤 값을 설정하거나 반환합니다.</li>
<li>.toggleClass() : 선택한 요소에 클래스의 추가/제거를 연속하여 사용할 수 있습니다.</li>
</ul>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
$(".btn1").click(function(){
if($(".list li").hasClass("select") ){
$(".select").css({color:"red", fontSize : 30})
}
})
</script>
</body>
</html>
toggleClass()
VIEW<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery</title>
<style>
li.on {color: red; font-size: 30px;}
</style>
</head>
<body>
<div class="cjpoce">
<a href="#" class="btn1">클릭하면 select 클래스를 찾은 후 효과를 주세요</a>
</div>
<div class="list">
<ul>
<li>.addClass() : 선택한 요소의 클래스를 추가합니다.</li>
<li>.attr() : 선택한 요소의 HTML 속성 값을 설정하거나 반환합니다.</li>
<li class="select">.offset() : 선택한 요소의 위치 좌표 값(문서 기준)을 설정하거나 반환합니다.</li>
<li>.scrollTop() : 선택한 요소의 세로 스크롤 값을 설정하거나 반환합니다.</li>
<li>.toggleClass() : 선택한 요소에 클래스의 추가/제거를 연속하여 사용할 수 있습니다.</li>
</ul>
</div>
<script src="../jquery.min_1.12.4.js"></script>
<script>
$(".btn1").click(function(){
$(".list li ").toggleClass("on");
})
</script>
</body>
</html>
Dimensions()
VIEW