[jQuery] νν°λ§λ©μλ
νν°λ§ λ©μλ .first() .last() .eq() .filter() .not() .has() .is() .map() .slice()
μΆμ² :: νν°λ§ λ©μλ .first() .last() .eq() .filter() .not() .is()
-
νν°λ§(filtering)λ©μλ
-
DOMνΈλ¦¬μμ μ νν μμλ₯Ό νν°λ§νκΈ° μν λ©μλλ λ€μκ³Ό κ°λ€.
λ©μλ μ€λͺ .first() μ νν μμ μ€μμ 첫 λ²μ§Έ μμλ₯Ό μ νν¨. .last() μ νν μμ μ€μμ λ§μ§λ§ μμλ₯Ό μ νν¨. .eq() μ νν μμ μ€μμ μ λ¬λ°μ μΈλ±μ€μ ν΄λΉνλ μμλ₯Ό μ νν¨. .filter() μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνκ±°λ,
ν¨μ νΈμΆμ κ²°κ³Όκ° μ°Έ(true)μΈ μμλ₯Ό λͺ¨λ μ ν_ν¨..not() μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνκ±°λ,
ν¨μ νΈμΆμ κ²°κ³Όκ° μ°Έ(true)μΈ μμλ₯Ό μ μΈν λλ¨Έμ§ μμλ₯Ό λͺ¨λ μ νν¨..has() μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνλ μμλ₯Ό μμμμλ‘ κ°μ§κ³ μλ μμλ₯Ό λͺ¨λ μ νν¨. .is() μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνλ μμκ° νλλΌλ μ‘΄μ¬νλ©΄ μ°Έ(true)μ λ°ν. .map() μ νν μμ μ§ν©μ κ° μμλ§λ€ μ½λ°±ν¨μλ₯Ό μ€ννκ³ , κ·Έ λ°νκ°μΌλ‘ ꡬμ±λ jQuery κ°μ²΄λ₯Ό λ°ν. .slice() μ νν μμ μ€μμ μ λ¬λ°μ μΈλ±μ€ λ²μμ ν΄λΉνλ μμλ§μ μ νν¨.
-
1. first() λ©μλμ last() λ©μλ
.first()
λ©μλλ μ νκ° μμ μ€μμ 첫 λ²μ§Έ μμκ° μ νλκ³ ,
.last()
λ©μλλ λ§μ§λ§ μμκ° μ νλλ€.
$('li').first().css('background-color', 'red');
$('li').last().css('background-color', 'yellow');
μ μμ μ 첫 λ²μ§Έ μμμ CSS μμ±μ΄ "red"λ‘ μ€μ λκ³ λ§μ§λ§ μμμ CSS μμ±μ΄ "yellow"λ‘ μ€μ λλ€.
2. eq() λ©μλ
.eq()
λ©μλλ μ νν μμμ€μμ μ λ¬λ°μ μΈλ±μ€μ ν΄λΉνλ μμλ₯Ό μ ννλ€.
μΈλ±μ€λ μ νλ μμλ€μ 첫 λ²μ§Έ μμλ₯Ό 0μΌλ‘ λκ³ , μμμλΆν° κ²μλλ€. μΈλ±μ€κ° μμμΈ κ²½μ°μλ μ νν μμ μ§ν©μ 맨 λ§μ§λ§ μμλ₯Ό μΈλ±μ€ -1λ‘ λκ³ λ€μμλΆν° κ²μλλ€.
$('li').eq(0).css('background-color', 'red');
$('lli').eq(-1).css('background-color', 'yellow');
μ μμ λ μΈλ±μ€κ° 0μ ν΄λΉνλ 첫 λ²μ§Έ μμμ CSS μμ±μ΄ "red"λ‘ μ€μ λκ³ , μΈλ±μ€ -1μ ν΄λΉνλ λ§μ§λ§ μμμ CSS μμ±μ΄ "yellow"λ‘ μ€μ λλ€.
3. filter() λ©μλ
.filter()
λ©μλλ μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνκ±°λ, ν¨μνΈμΆμ κ²°κ³Όκ° μ°Έ(true)μΈ μμκ° λͺ¨λ μ νλλ€.
μ΄ λ©μλλ μΈμλ‘ μ νμλ jQuery κ°μ²΄, HTML DOM μμ λ±μ μ λ¬λ°μ μ μλ€.
λν μμμ μ§ν©μ κ° μμλ₯Ό 체ν¬ν μ μλ ν¨μλ₯Ό μ λ¬ν μλ μλ€.
$('li').filter(':odd').css('background-color', 'yellow');
μ μμ μμ μ¬μ©λ :odd
μ νμλ μΈλ±μ€κ° νμμΈ μμλ₯Ό λͺ¨λ μ ννλ μ νμμ΄λ―λ‘ λ λ²μ§Έμ λ€ λ²μ§Έ μμκ° μ νλλ€.
μ¬κΈ°μ μ£Όμν μ μ jQueryμ μΈλ±μ€λ μΈμ λ 0λΆν° μμνκΈ° λλ¬Έμ΄λ€.
λ°λΌμ :odd
λ :even
μ νμλ₯Ό μ¬μ©ν λλ μΈμ λ μΈλ±μ€κ° 0λΆν° μμνλ€λ μ¬μ€μ μΌλμ λκ³ μ¬μ©ν΄μ νλ€.
4. not() λ©μλ
.not()
λ©μλλ μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνκ±°λ, ν¨μ νΈμΆμ κ²°κ³Όκ° μ°Έ(true)μΈ μμλ₯Ό μ μΈν λλ¨Έμ§ μμκ° λͺ¨λ μ νλλ€.
μ¦, .filter()
λ©μλμλ μ λ°λλ‘ λμνμ¬ μμκ° μ νλλ€.
$('li').not(':odd').css('background-color', 'yellow');
μ μμ μμ μ¬μ©λ :odd
μ νμλ μΈλ±μ€κ° νμμΈ μμλ₯Ό λͺ¨λ μ ννλ μ νμμ΄λ―λ‘ λ λ²μ§Έμ λ€λ²μ§Έ μμμ λ°λμΈ μ²«λ²μ§Έμ λ€λ²μ§Έ μμκ° μ νλλ€.
5. has() λ©μλ
.has()
λ©μλλ μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνλ μμλ₯Ό νμ μμλ‘ κ°μ§κ³ μλ μμκ° λͺ¨λ μ νλλ€.
$('li').has('b').css('background-color', 'yellow');
μ μμ λ μ νν <li>
μμ μ€μμ νμ μμλ‘ <b>
μμλ₯Ό κ°μ§κ³ μλ μμλ§μ CSS μμ±μ λ³κ²½νλ€.
<ul>
<li>list item 1</li>
<li>list item 2
<ul>
<li>list item 2-a</li>
<li>list item 2-b</li>
</ul>
</li>
<li>list item 3</li>
<li>list item 4</li>
</ul>
$('li').has('ul').css('background-color', 'red');
// list item 2-a , list-item 2-b λ§ λ³κ²½.
μ μμ λ λΆλͺ¨μμμΈ <ul>
μμ <li>
μ μμλ§ CSS μμ±μ λ³κ²½νλ€.
6. is() λ©μλ
.is()
λ©μλλ μ νν μμ μ€μμ μ λ¬λ°μ μ νμμ ν΄λΉνλ μμκ° νλλΌλ μ‘΄μ¬νλ©΄ μ°Έ(true)μ λ°ννλ€.
<ul>
<li>μμ€νλ μ</li>
<li><b>μλ©λ¦¬μΉ΄λ
Έ</b></li>
<li>μΉ΄νλΌλΌ</li>
</ul>
<p></p>
if($('b').parents().is('ul')) {
$('p').text('<b>μμμ μμ μμλ‘ <ul>μμκ° μ‘΄μ¬νλ€.')
}
μ μμ μμ μ°μ μ νν <b>
μμμ μμμμλ₯Ό μ ννμ¬ , μ νλ μμ μμμ€μ <ul>
μμκ° μ‘΄μ¬νλμ§ μ¬λΆλ₯Ό .is()
λ‘ μ²΄ν¬νκ³ μλ€.
7. map() λ©μλ
.map()
λ©μλλ μ νν μμ μ§ν©μ κ° μμλ§λ€ μ§μ λ μ½λ°±ν¨μλ₯Ό μ€ννκ³ , κ·Έ λ°νκ°μΌλ‘ ꡬμ±λ jQuery κ°μ²΄λ₯Ό λ°ννλ€.
<p><b>Value: </b></p>
<form>
<input type="text" name="name" value="John">
<input type="text" name="password" value="password">
<input type="text" name="url" value="https://johnresig.com//">
</form>
$('p')
.append($('input').map(function(){
return $(this).val();
})
.get()
.join(',') );
μ μμ λ <p>
μμμ κ°κ°μ <input>
valueμ κ°μ λ°ννλ μ½λ°±ν¨μλ₯Ό μ€ννλ€.
μ½λ°±ν¨μμ μ€νμΌλ‘ λ°νλλ κ°λ€μ .get()
λ©μλλ₯Ό ν΅ν΄ λ°°μ΄λ‘ λ°νλλ©°, λ€μ .join()
λ©μλλ₯Ό ν΅ν΄ λ¬Έμμ΄λ‘ λ°νλλ€.
8. slice() λ©μλ
.slice()
λ©μλλ μ νν μμ μ€μμ μ λ¬λ°μ μΈλ±μ€ λ²μμ ν΄λΉνλ μμλ§ μ νλλ€.
<ul>
<li>list item 1</li><!-- index : 0 -->
<li>list item 2</li><!-- index : 1 -->
<li>list item 3</li><!-- index : 2 -->
<li>list item 4</li><!-- index : 3 -->
<li>list item 5</li><!-- index : 4 -->
</ul>
$('li').slice(2).css('background-color', 'yellow');
$('li').slice(1, 3).css('border', '1px solid green');
μ μμ λ 첫λ²μ§Έ μ€μμ μ νν <li>
μμ μ€ λ³ΈμΈν¬ν¨ λλ¨Έμ§ μΈλ±μ€λ₯Ό μ ννκ³ (list-item 3 / list-item 4 / list-item 5) μ ν.
μλ μμ λ .slice(λ³ΈμΈμΈλ±μ€ν¬ν¨, μΈλ±μ€λ―Έν¬ν¨)
μ΄λ―λ‘ list-item 2 / list-item 3μ΄ μ νλλ€.