jQuery 객체
jQuery 함수의 리턴값으로 선택한 엘리먼트들에 대해서 처리할 작업을 프로퍼티로 가지고 있는 객체
jQuery 객체 특
DOM과 다르게 jQuery 객체의 메소드를 실행하면 선택된 엘리먼트 전체에 대해서 동시에 작업이 처리됨 (암시적 반복)
대부분의 메소드들이 인자를 2개 사용하면 값을 변경하고, 인자를 1개만 사용하면 값을 가져오는 메소드가 됨
값을 가져올 때는 선택된 엘리먼트 중 첫번째에 대한 값만을 반환(메소드의 인자를 1개만 전달시)
선택된 엘리먼트에 대해서 연속저으로 작업을 처리할 수 있는 체이닝 적용
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<input type="button" value="변경하기" onclick="fn_setUnderline()">
<input type="button" value="가져오기" onclick="fn_getColor()">
<ul>
<li style="color: red">banana</li>
<li>apple</li>
<li>mango</li>
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function fn_setUnderline() {
// 제이쿼리 객체의 메소드에 인자를 2개 입력하면 속성 변경
$('li').css('textDecoration', 'underline');
}
function fn_getColor() {
// 제이쿼리 객체의 메소드에 인자를 1개 입력하면 속성값 가져오기
$('ul').append($('li').css('color'));
}
</script>
</body>
</html>
jQuery 조회한 결과 가져오기
jQuery 객체는 유사배열로 배열과 같은 방법(인덱스 접근)으로 값에 접근이 가능함(가져온 값은 jQuery객체가 아닌 일반 DOM 객체임)
lenght 프로퍼티로 길이를 얻을 수 있음
jQuery 함수는 CSS선택자를 인자로 jQuery객체를 반환 받거나, HTMLElement를 인자로 넣어 jQuery객체를 반환 받을 수 있음
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<ul>
<li>banana</li>
<li>apple</li>
<li>mango</li>
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
var lis = $('li');
for(var i=0; i<lis.length; i++) {
// 각각의 HTMLElement 반환(순회)
console.log(lis[i]);
// console.log(lis[i].css('color')) 는 불가능
}
</script>
</body>
</html>
jQuery 객체 map 메소드
인덱스(첫번째 인자)와 dom객체(두번째 인자)를 인자로받는 함수를 인자로 받아서 사용함
jQuery 객체의 길이만큼 반복함 각각의 인덱스 번호와 dom객체를 반환하며 반복함
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<ul>
<li>banana</li>
<li>apple</li>
<li>mango</li>
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
var lis = $('li');
// lis 객체를 순회하면서 index와 dom객체를 활용할 수 있음
lis.map(function(index, elem) {
console.log(index, elem);
// 각각의 스타일값 변경
$(elem).css('color', 'red');
})
</script>
</body>
</html>
jQuery API
Last updated
Was this helpful?