[Js] jQuery ์์ฑ ์ ์ด API | jQuery ์กฐํ ๋ฒ์ ์ ํ | javascript
- -
๋ชจ๋ ํฌ์คํ ์ ์ธํ๋ฐ [์ํ์ฝ๋ฉ] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์์ ๋ด์ฉ์ ๋ด๊ณ ์์ผ๋ฉฐ
์ถ์ฒ๋ ์๋์ ์ฃผ์๋ก "egoing Lee"๋์ ์๋ฃ์ ๋๋ค.
์์ ์ ์ธ ์๋๊ฐ ์๋ ๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํด๋๋ ๋ชฉ์ ์ผ๋ก ํฌ์คํ ํ ๊ฒ์ ๋๋ค.
์ด๋ฒ ํฌ์คํ ์ jQuery๋ฅผ ์์ฑ ์ ์ด API์ ๋ค์ ๊ฐ์ข์ธ jQuery ์กฐํ ๋ฒ์ ์ ํ ๋ด์ฉ์ ๋ชจ๋ ๋ด๊ณ ์์ต๋๋ค.
jQuery ์์ฑ ์ ์ด API
์์ฑ์ ์ด
jQuery ๊ฐ์ฒด์ ๋ฉ์๋ ์ค setAttribute, getAttribute์ ๋์๋๋ ๋ฉ์๋๋ attr์ด๋ค. ๋ํ removeAttribute์ ๋์๋๋ ๋ฉ์๋๋ก๋ removeAttr์ด ์๋ค.
<!DOCTYPE html>
<html>
<head>
<title> jQuery ์์ฑ์ ์ ์ด</title>
</head>
<body>
<a id="target" href="http://opentutorials.org">opentutorials</a>
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script>
var t = $('#target');
console.log(t.attr('href')); //http://opentutorials.org
t.attr('title', 'opentutorials.org'); // title ์์ฑ์ ๊ฐ์ ์ค์ ํ๋ค.
t.removeAttr('title'); // title ์์ฑ์ ์ ๊ฑฐํ๋ค.
</script>
</body>
</html>
attribute์ property
DOM๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก jQuery๋ ์์ฑ(attribute)๊ณผ ํ๋กํผํฐ๋ฅผ ๊ตฌ๋ถํ๋ค. ์์ฑ์ attr, ํ๋กํผํฐ๋ prop ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
<!DOCTYPE html>
<html>
<head>
<title> jQuery ์์ฑ์ ์ ์ด</title>
</head>
<body>
<a id="t1" href="./demo.html">opentutorials</a>
<input id="t2" type="checkbox" checked="checked" />
<script src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script>
// ํ์ฌ ๋ฌธ์์ URL์ด ์๋์ ๊ฐ๋ค๊ณ ํ์ ๋
// http://localhost/jQuery_attribute_api/demo2.html
var t1 = $('#t1');
console.log(t1.attr('href')); // ./demo.html
console.log(t1.prop('href')); // file:///C:/Users/User/Desktop/javascript/demo.html
var t2 = $('#t2');
console.log(t2.attr('checked')); // checked
console.log(t2.prop('checked')); // true
</script>
</body>
</html>
์ ์ฝ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ฝ์์ฐฝ์์ ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
jQuery๋ฅผ ์ด์ฉํ๋ฉด ํ๋กํผํฐ์ ์ด๋ฆ์ผ๋ก ์ด๋ค ๊ฒ์ ์ฌ์ฉํ๊ฑด ์ฌ๋ฐ๋ฅธ ๊ฒ์ผ๋ก ๊ต์ ํด์ค๋ค.
์ด๋ฐ ๊ฒ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์์๋ผ๊ณ ํ ์ ์๊ฒ ๋ค.
<!DOCTYPE html>
<html>
<head>
<title> jQuery ์์ฑ์ ์ ์ด</title>
</head>
<body>
<div id="t1">opentutorials</div>
<div id="t2">opentutorials</div>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script>
$('#t1').prop('className', 'test1');
$('#t2').prop('class', 'test2');
</script>
</body>
</html>
๊ฒฐ๊ณผ๋ฅผ ํ์ธํด๋ณด๋ฉด, jQuery๋ด๋ถ์์ ์์์ ๊ต์ ์ ํ์๊ธฐ ๋๋ฌธ์ ๋ ๊ฐ ๋ชจ๋ ์ ์์ ์ผ๋ก ์ ์ฉ๋ ๊ฒ์ ํ์ธํ ์๊ฐ ์๋ค.
(์ฐธ๊ณ ๋ก : attr -> ์์ฑ๋ฐฉ์, prop -> ํ๋กํผํฐ ๋ฐฉ์์)
jQuery ์กฐํ ๋ฒ์ ์ ํ
selector context
๊ฐ์ฅ ๊ฐํธํ ๋ฐฉ๋ฒ์ ์กฐํํ ๋ ์กฐํ ๋ฒ์๋ฅผ ์ ํํ๋ ๊ฒ์ด๋ค. ๊ทธ ์ ํ๋ ๋ฒ์๋ฅผ jQuery์์๋ selector context๋ผ๊ณ ํ๋ค.
<!DOCTYPE html>
<html>
<head>
<title> jQuery ์กฐํ ๋ฒ์ ์ ํ</title>
</head>
<body>
<ul>
<li class="marked">html</li>
<li>css</li>
<li id="active">JavaScript
<ul>
<li>JavaScript Core</li>
<li class="marked">DOM</li>
<li class="marked">BOM</li>
</ul>
</li>
</ul>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script>
$( ".marked", "#active").css( "background-color", "red" );
</script>
</body>
</html>
์ฌ๊ธฐ์์ .marked๋ ํจ๊ณผ๋ฅผ ์ฃผ๊ณ ์ ํ๋ ์๋ฆฌ๋จผํธ๋ฅผ ์ง์ ํ๊ณ , ๋๋ฒ์งธ ์ธ์๋ก #active ์ฆ selector context๊ฐ ์ค๋๋ฐ, ์ด๋ ์ฒซ๋ฒ์งธ ์ธ์๋ฅผ ์ ์ดํ๋ ค๊ณ ํ๋ ์๋ฆฌ๋จผํธ ์ด๋ค.
์คํ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ด ์ฝ๋๊ฐ ์ ์ฉ๋๋ค.
<ul>
<li class="marked">html</li>
<li>css</li>
<li id="active">JavaScript
<ul>
<li>JavaScript Core</li>
<li class="marked" style="background-color: red;">DOM</li>
<li class="marked" style="background-color: red;">BOM</li>
</ul>
</li>
</ul>
์กฐ๊ธ๋ ๊ฐ๋จํ๊ฒ ํํํ๊ณ ์ ํ๋ค๋ฉด, ์ ํ์๋ฅผ ์๋์ฒ๋ผ ์์ฑํด๋ ๊ฒฐ๊ณผ๊ฐ ๊ฐ๋ค.
$( "#active .marked").css( "background-color", "red" );
.find()
find๋ jQuery ๊ฐ์ฒด ๋ด์์ ์๋ฆฌ๋จผํธ๋ฅผ ์กฐํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์๋์ ์ฝ๋๋ ์์ ์์ ์ ํจ๊ณผ๊ฐ ๊ฐ๋ค.
$( "#active").find('.marked').css( "background-color", "red" );
find๋ฅผ ์ฐ๋ ์ด์ ๋ ์ฒด์ธ์ ๋์ง ์๊ณ ์์ ์ ๋์์ ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
๊ธฐ๋ณธ ์์ ๋ฅผ ์๋์ ๊ฐ์ด ๋ณ๊ฒฝํด๋ณด์.
$('#active').css('color','red').find('.marked').css('background-color','yellow')
์คํ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ๋ค.
<ul>
<li class="marked">html</li>
<li>css</li>
<li id="active" style="color: red;">JavaScript
<ul>
<li>JavaScript Core</li>
<li class="marked" style="background-color: yellow;">DOM</li>
<li class="marked" style="background-color: yellow;">BOM</li>
</ul>
</li>
</ul>
์ ์ฒด์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<!DOCTYPE html>
<html>
<head>
<title> jQuery ์กฐํ ๋ฒ์ ์ ํ</title>
</head>
<body>
<ul>
<li class="marked">html</li>
<li>css</li>
<li id="active">JavaScript
<ul>
<li>JavaScript Core</li>
<li class="marked">DOM</li>
<li class="marked">BOM</li>
</ul>
</li>
</ul>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script>
//$( ".marked", "#active").css( "background-color", "red" );
$('#active').css('color','red').find('.marked').css('background-color','yellow')
</script>
</body>
</html>
์ฆ li.item-li ์๋ฆฌ๋จผํธ์ ํด๋นํ๋ ๋ชจ๋ ์๋ฆฌ๋จผํธ์ ์ ๊ฒฝ์์ ๋นจ๊ฐ์์ผ๋ก ๋ณ๊ฒฝํ ํ์ li ์๋ฆฌ๋จผํธ๋ง์ ์กฐํํด์ ๋ฐฐ๊ฒฝ์์ ๋ ธ๋์์ผ๋ก ์ง์ ํ๊ณ ์๋ค.
find๋ฅผ ๋๋ฌด ๋ณต์กํ๊ฒ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ์ ์ง๋ณด์ํ๊ธฐ ์ด๋ ต๊ฒ ๋๋ค.
๋ ๋ง์ ์์ ๋ jQuery์ ๋ฉ๋ด์ผ์ ์ฐธ๊ณ ํ์. .find()
'Languages > Java Script' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Js] ๋ ธ๋ ์ข ๋ฅ API | ๋ ธ๋ ๋ณ๊ฒฝ API | jQuery ๋ ธ๋ ๋ณ๊ฒฝ API (0) | 2021.02.10 |
---|---|
[Js] Node ๊ฐ์ฒด | Node ๊ด๊ณ API (0) | 2021.02.10 |
[Js] ์๋ณ์ API | ์กฐํ API | ์์ฑ API (0) | 2021.02.10 |
[Js] Element ๊ฐ์ฒด | Node | ์๋ณ์ | ์กฐํ | ์๋ฆฌ๋จผํธ (0) | 2021.02.08 |
๋น์ ์ด ์ข์ํ ๋งํ ์ฝํ ์ธ
์์คํ ๊ณต๊ฐ ๊ฐ์ฌํฉ๋๋ค