πŸ”₯ # 2 jQuery(λΆ€λͺ¨, μƒμœ„, ν•˜μœ„, ν˜•μ œ μš”μ†Œ)

박쀀석·2022λ…„ 9μ›” 23일
0

jQuery

λͺ©λ‘ 보기
2/3
post-thumbnail

πŸ”₯ λΆ€λͺ¨μš”μ†Œ

λΆ€λͺ¨μš”μ†Œμ—λŠ” parent(), parents(), .parentsUntil(), .closest() 이 μžˆλ‹€.

  • parent() : μ„ νƒν•œ μš”μ†Œμ˜ λΆ€λͺ¨ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
  • parents() : μ„ νƒν•œ μš”μ†Œμ˜ μƒμœ„ μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.
  • parentsUntil() : μ„ νƒν•œ μš”μ†Œμ˜ μƒμœ„ μš”μ†Œ μ€‘μ—μ„œ μ§€μ •ν•œ μ„ νƒμžμ— ν•΄λ‹Ήν•˜λŠ” μš”μ†Œ λ°”λ‘œ μ΄μ „κΉŒμ§€μ˜ μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.
  • closest() : μ„ νƒν•œ μš”μ†Œλ₯Ό ν¬ν•¨ν•œ μƒμœ„ μš”μ†Œ μ€‘μ—μ„œ μ§€μ •ν•œ μ„ νƒμžμ— ν•΄λ‹Ήν•˜λŠ” μš”μ†Œ 쀑 κ°€μž₯ 첫 번째 μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.

🐱 parent()

        $(function(){
            $("span").parent().css("border", "1px solid red");
        })


span에 λΆ€λͺ¨μš”μ†Œλ₯Ό 선택해 css()ν•¨μˆ˜λ₯Ό μ μš©ν•œ 것이닀.
parent()λŠ” μ—°μ†μœΌλ‘œλ„ μ“Έ 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ λΆ€λͺ¨μ˜ λΆ€λͺ¨λ₯Ό μ„ νƒν•˜κ³  μ‹Άλ‹€λ©΄,

        $(function(){
            $("span").parent().parent().css("border", "1px solid red");
        })

μœ„ 와 같은 λ°©μ‹μœΌλ‘œ μ½”λ”©ν•˜λ©΄ λœλ‹€. 그럼 μ•„λž˜μ™€ 같은 κ²°κ³Όκ°€ λ‚˜μ˜¨λ‹€.

🐱 parents()

        $(function(){
            $("span").parents().css("border", "1px solid red");
        })


span에 λΆ€λͺ¨μš”μ†Œ λͺ¨λ‘λ₯Ό 선택해 css()ν•¨μˆ˜λ₯Ό μ μš©ν•œ 것이닀.

🐱 parentsUntil()

        $(function(){
            $("span").parentsUntil("div").css("border", "1px solid red");
        })


spanμ—μ„œ μ§€μ •ν•œ divμ „ κΉŒμ§€μΈ ul-secondκΉŒμ§€ 선택해 css()ν•¨μˆ˜λ₯Ό μ μš©ν•œ 것이닀.
parentsUntil은 μ§€μ •ν•œ μš”μ†Œ λ°”λ‘œ μ΄μ „κΉŒμ§€μ˜ μš”μ†Œλ§Œ μ„ νƒν•œλ‹€.

🐱 closest()

        $(function(){
            $("span").closest("ul").css("border", "1px solid red");
        })


spanμ—μ„œ μ§€μ •ν•œ μš”μ†Œκ°€ λ‘κ°œ 이상 μžˆμ„ λ•Œ 제일 첫번째 μš”μ†Œκ°€ 선택 λœλ‹€.

πŸ”₯ μžμ‹μš”μ†Œ

μžμ‹μš”μ†Œμ—λŠ” children(), find()κ°€ μžˆλ‹€.

  • children() : μ„ νƒν•œ μš”μ†Œμ˜ μžμ‹ μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.
  • find() : μ„ νƒν•œ μš”μ†Œμ˜ μžμ† μš”μ†Œ μ€‘μ—μ„œ 전달받은 μƒνƒœμ—μ„œ ν•΄λ‹Ήν•˜λŠ” μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.

🐱 children()

        $(function(){
            $("div").children().css("border", "1px solid red");
        })

divμ—μ„œ μžμ‹ μš”μ†ŒμΈ ul-second인 μš”μ†Œλ₯Ό 선택해 css()ν•¨μˆ˜λ₯Ό μ μš©ν•œ 것이닀.
children(filter) λ§Œμ•½ κ°™μ€μš”μ†ŒμΈ li이 μžˆλ‹€λ©΄

<ul class="ulStyle">
    <li>μ•ˆλ…•</li>
    <li class="ip">μ•ˆλ…•</li>
    <li>μ•ˆλ…•</li>
</ul>
        $(function(){
            $("ul").children(".ip").css("border", "1px solid red");
        })


μœ„ 사진과 같이 ()에 ν΄λž˜μŠ€λ‚˜, 아이디λ₯Ό λ„£μœΌλ©΄ ν•„ν„°κ°€ λΌμ„œ μ μš©λœλ‹€.

🐱 find()

        $(function(){
            $("div").find("span").css("border", "1px solid red");
        })


divμ—μ„œ μžμ‹ μš”μ†Œ μ€‘μ—μ„œ μ§€μ •ν•œ spanμš”μ†Œλ₯Ό 선택해 css()ν•¨μˆ˜λ₯Ό μ μš©ν•œ 것이닀.divμ—μ„œ μžμ‹ μš”μ†Œ μ€‘μ—μ„œ μš”μ†Œλ₯Ό 지정할 수 μžˆλ‹€.

πŸ”₯ ν˜•μ œμš”μ†Œ

μžμ‹μš”μ†Œμ—λŠ” siblings(), next(), nextAll(), nextUntil(), prev(), prevAll(), prevUntil()이 μžˆλ‹€.

  • siblings() : μ„ νƒν•œ μš”μ†Œμ˜ ν˜•μ œ μš”μ†Œ μ€‘μ—μ„œ μ§€μ •ν•œ μ„ νƒμžμ— ν•΄λ‹Ήν•˜λŠ” μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.
  • next() : μ„ νƒν•œ μš”μ†Œμ˜ λ°”λ‘œ λ‹€μŒμ— μœ„μΉ˜ν•œ ν˜•μ œ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
  • nextAll() : μ„ νƒν•œ μš”μ†Œμ˜ λ‹€μŒμ— μœ„μΉ˜ν•œ ν˜•μ œ μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.
  • nextUntil() : μ„ νƒν•œ μš”μ†Œμ˜ ν˜•μ œ μš”μ†Œ μ€‘μ—μ„œ μ§€μ •ν•œ μ„ νƒμžμ— ν•΄λ‹Ήν•˜λŠ” μš”μ†Œ λ°”λ‘œ μ΄μ „κΉŒμ§€μ˜ μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.
  • prev() : μ„ νƒν•œ μš”μ†Œμ˜ λ°”λ‘œ 이전에 μœ„μΉ˜ν•œ ν˜•μ œ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
  • prevAll() : μ„ νƒν•œ μš”μ†Œμ˜ 이전에 μœ„μΉ˜ν•œ ν˜•μ œ μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.
  • prevUntil() : μ„ νƒν•œ μš”μ†Œμ˜ ν˜•μ œ μš”μ†Œ μ€‘μ—μ„œ μ§€μ •ν•œ μ„ νƒμžμ— ν•΄λ‹Ήν•˜λŠ” μš”μ†Œ λ°”λ‘œ λ‹€μŒκΉŒμ§€μ˜ μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.

🐱 siblings()

        $(function(){
            $("li").siblings().css("border", "1px solid red");
        })


μ„ νƒν•œ liμš”μ†Œλ₯Ό μ „λΆ€ 선택해 css()ν•¨μˆ˜λ₯Ό μ μš©ν•œ 것이닀

🐱 next()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $(".two").next().css("border", "1px solid red");
        })


μ„ νƒν•œ .two인 li에 λ‹€μŒ li인 .threeλ₯Ό μ„ νƒν•œ 것이닀.

🐱 nextAll()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $(".two").nextAll().css("border", "1px solid red");
        })


μ„ νƒν•œ .two인 li에 λ‹€μŒμ— μžˆλŠ” λͺ¨λ“  li인 .three, .fourλ₯Ό μ„ νƒν•œ 것이닀.

🐱 nextUntil()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $(".one").nextUntil(".three").css("border", "1px solid red");
        })


μ„ νƒν•œ .oneμ—μ„œ μ§€μ •ν•œ .three μ΄μ „κΉŒμ§€λ₯Ό μ„ νƒν•œ 것이닀.

🐱 prev()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $(".four").prev().css("border", "1px solid red");
        })


μ„ νƒν•œ .four인 li에 이전 li인 .threeλ₯Ό μ„ νƒν•œ 것이닀.

🐱 prevAll()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $(".four").prevAll().css("border", "1px solid red");
        })

μ„ νƒν•œ .four인 li에 이전에 μžˆλŠ” λͺ¨λ“  li인 .three, .twoλ₯Ό μ„ νƒν•œ 것이닀.

🐱 prevUntil()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $(".four").prevUntil(".one").css("border", "1px solid red");
        })


μ„ νƒν•œ .fourμ—μ„œ μ§€μ •ν•œ .one λ‹€μŒκΉŒμ§€λ₯Ό μ„ νƒν•œ 것이닀.

πŸ”₯ κΈ°νƒ€μš”μ†Œ

  • add() : μ„ νƒν•œ μš”μ†Œμ— λ‹€λ₯Έ μš”μ†Œλ₯Ό μΆ”κ°€ μ„ νƒν•œλ‹€.
  • addBack() : μ„ νƒν•œ μš”μ†Œμ˜ 집합에 λ°”λ‘œ 전에 μ„ νƒν–ˆλ˜ μš”μ†Œλ₯Ό μΆ”κ°€ν•œλ‹€.
  • each() : μ„ νƒν•œ μš”μ†Œλ“€μ„ 각 μš”μ†Œλ§ˆλ‹€ 전달받은 콜백 ν•¨μˆ˜λ₯Ό 반볡 μ‹€ν–‰ν•œλ‹€.
  • end() : λ§ˆμ§€λ§‰μœΌλ‘œ μ‹€ν–‰ν•œ λ©”μ†Œλ“œμ˜ μ‹€ν–‰ μ „ μƒνƒœλ‘œ μ„ νƒν•œ μš”μ†Œμ˜ 집합을 λ³΅μ›ν•œλ‹€.
  • offsetParent() : DOM νŠΈλ¦¬μ— μ‘΄μž¬ν•˜λŠ” λΆ€λͺ¨μš”μ†Œλ“€ 쀑 μœ„μΉ˜μš”μ†Œλ₯Ό κΈ°μ€€μœΌλ‘œ κ°€μž₯ κ°€κΉŒμš΄ μš”μ†Œλ₯Ό μ°Ύμ•„μ„œ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
  • contents() : μ„ νƒν•œ μš”μ†Œμ˜ μžμ‹μš”μ†Œλ₯Ό λͺ¨λ‘ μ„ νƒν•œλ‹€.(ν…μŠ€νŠΈ λ…Έλ“œμ™€ 주석 λ…Έλ“œκΉŒμ§€ λͺ¨λ‘ 포함)

🐱 add()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $(".four").add(".one").css("border", "1px solid red");
        })

μ„ νƒν•œ .four에 λ‹€λ₯Έμš”μ†ŒμΈ .one을 μΆ”κ°€ν•œ 것 이닀.

🐱 addBack()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $("ul").find("li").addBack().css("border", "1px solid red");
        })


ulλ₯Ό 선택 ν•˜κ³ , μΆ”κ°€λ‘œ li μš”μ†Œλ„ μ„ νƒν•˜μ—¬ ν…Œλ‘λ¦¬λ₯Ό λ§Œλ“­λ‹ˆλ‹€.

🐱 each()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $("li").on("mouseover", function(){
                $(this).each(function(){
                    $(this).css("backgroundColor", "yellow");
                });
            });
        });

li에 μ΄λ²€νŠΈν•¨μˆ˜λ‘œ mouseover 마우슀λ₯Ό κ°€μ Έλ‹€ λŒˆλ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•˜λŠ” ν•¨μˆ˜μ΄λ‹€.
$(this).each()λŠ” 마우슀λ₯΄ κ°€μ Έλ‹€ λŒ€λ©΄ κ·Έ λ§ˆμš°μŠ€κ°€ κ°€λ₯΄ν‚€λŠ” liκ°€ 선택이 λœλ‹€.
for을 λŒ€μ‹ ν•΄μ„œ μ“΄λ‹€κ³  μƒκ°ν•˜λ©΄ λœλ‹€. μœ„μ™€ 같이 마우슀λ₯΄ κ°€μ Έλ‹€ λŒ€λ©΄ λ°±κ·ΈλΌμš΄μƒ‰μ€ λ…Έλž‘μƒ‰μœΌλ‘œ λ³€κ²½ν•˜λŠ” 것이닀.

🐱 end()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $("ul").find("li").end().css("border", "1px solid red");
        });

ulμ—μ„œ μžμ‹μš”μ†Œ ν•¨μˆ˜μΈ find()둜 li둜 지정해 λ†¨μ§€λ§Œ end() ν•¨μˆ˜λ‘œ find()λ₯Ό μ·¨μ†Œν•˜κ³  ul을 μ„ νƒν•˜μ—¬ css μŠ€νƒ€μΌμ„ μ„€μ •ν•œλ‹€.

🐱 offsetParent()

    <div>div-first
        <ul class="second-ul">ul
            <li class="one">li</li>
            <li class="two">li</li>
            <li class="three">li</li>
            <li class="four">li</li>
        </ul>
    </div>
        $(function(){
            $("li").offsetParent().css("border", "1px solid red");
        });

DOM νŠΈλ¦¬μ— μ‘΄μž¬ν•˜λŠ” λΆ€λͺ¨μš”μ†Œλ“€ 쀑 μœ„μΉ˜μš”μ†Œ(position)λ₯Ό κΈ°μ€€μœΌλ‘œ κ°€μž₯ κ°€κΉŒμš΄ μš”μ†Œλ₯Ό μ°Ύμ•„μ„œ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. ν˜„μž¬λŠ” ul에 position이 λ“€μ–΄κ°€ μžˆμ–΄μ„œ cssλ₯Ό 받은것이닀.

🐱 contents()

<div><em>Hello world! What a beautiful day!</em></div>
        $(function(){
            $("div").contents().filter("em").css("color", "red");
        });

divμ•ˆμ— μžˆλŠ” λͺ¨λ“  ν…μŠ€νŠΈ λ…Έλ“œλ₯Ό μ°Ύμ•„ em의 cssλ₯Ό 받은 것이닀.

profile
μ•ˆλ…•ν•˜μ„Έμš” ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžμž…λ‹ˆλ‹€. 글을 이전 μ€‘μž…λ‹ˆλ‹€.

0개의 λŒ“κΈ€