🦁_21.12.09 TIL

BoriΒ·2021λ…„ 12μ›” 9일
2
post-thumbnail

21λ…„ 12μ›” 09일

πŸ“ JQuery & Ajax

라이브러리

  • 자주 μ‚¬μš©ν•˜λŠ” μ½”λ“œλ₯Ό μž¬μ‚¬μš© ν•  수 μžˆλŠ” ν˜•νƒœλ‘œ κ°€κ³΅ν•˜μ—¬ ν”„λ‘œκ·Έλž˜λ° νš¨μœ¨μ„ λ†’μ—¬μ£ΌλŠ” μ½”λ“œ

πŸ“Ž JQuery

  • κ²½λŸ‰μ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ 라이브러리
  • JQueryλ₯Ό μ΄μš©ν•˜λ©΄ DOMκ³Ό μ΄λ²€νŠΈμ— κ΄€ν•œ 처리λ₯Ό μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆλ‹€.
  • λ˜ν•œ, Ajax μ‘μš© ν”„λ‘œκ·Έλž¨ 및 ν”ŒλŸ¬κ·ΈμΈλ„ JQueryλ₯Ό ν™œμš©ν•˜μ—¬ λΉ λ₯΄κ²Œ κ°œλ°œν•  수 μžˆλ‹€.

πŸ“Ž JQuery μ„ νƒμž

Basic

  • "*" : λͺ¨λ“  μš”μ†Œ 선택
  • "element" : ν•΄λ‹Ή νƒœκ·Έ μ΄λ¦„μ˜ λͺ¨λ“  μš”μ†Œ 선택
  • ".class" : μ§€μ •λœ 클래슀의 λͺ¨λ“  μš”μ†Œ 선택
  • "#id" : μ§€μ •λœ μ•„μ΄λ””μ˜ λͺ¨λ“  μš”μ†Œ 선택
  • "selector1, selector2, selectorN" : λͺ…μ‹œλœ μ—¬λŸ¬ μš”μ†Œ 선택

Basic Filter

indexλŠ” μŒμˆ˜λ„ κ°€λŠ₯

  • :eq(index) : μ„ νƒλœ μš”μ†Œλ“€μ˜ μ§‘ν•©μ—μ„œ ν•΄λ‹Ή 인덱슀λ₯Ό 톡해 선택
    => $("li").eq(3).css("color", "red" );

    jQuery 3.4 λΆ€ν„° :eq(index)λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³ , .eq(index)λ₯Ό μ‚¬μš©ν•˜μ—¬ κ²°κ³Όλ₯Ό 필터링

  • :gt(index) : μ„ νƒλœ μ§‘ν•©μ—μ„œ 지정 μΈλ±μŠ€λ³΄λ‹€ 큰 인덱슀λ₯Ό κ°€μ§€λŠ” νƒœκ·Έ 선택(greater than)
    => $("td:gt(4)").css("backgroundColor", "yellow");
  • :lt(index) : μ„ νƒλœ μ§‘ν•©μ—μ„œ 지정 μΈλ±μŠ€λ³΄λ‹€ μž‘μ€ 인덱슀λ₯Ό κ°€μ§€λŠ” νƒœκ·Έ 선택(less than)
  • :first : μ„ νƒλœ μš”μ†Œ 쀑 첫 번째 μš”μ†Œ
  • :last : μ„ νƒλœ μš”μ†Œ 쀑 λ§ˆμ§€λ§‰ μš”μ†Œ
  • :even : μ„ νƒλœ μš”μ†Œ 쀑 짝수 번째 μš”μ†Œ
  • :odd : μ„ νƒλœ μš”μ†Œ 쀑 ν™€μˆ˜ 번째 μš”μ†Œ
  • :not() : μ„ νƒλœ μš”μ†Œ 쀑 ν˜„μž¬ μ„ νƒν•œ μš”μ†Œμ˜ λ°˜λŒ€ μš”μ†Œ
    => $( "input:not(:checked) + span" ).css( "background-color", "yellow" );

Attribute

  • [name="value"] : 속성 쀑 value와 μΌμΉ˜ν•˜λŠ” κ°’ 선택
  • [name*="value"] : 속성 쀑 valueκ°€ ν¬ν•¨λ˜μ–΄ μžˆλŠ” μš”μ†Œ 선택

Child Filter

  • :first-child, :last-child : 첫 번째, λ§ˆμ§€λ§‰ μžμ‹ μš”μ†Œ 선택
  • :nth-child(index) : index λ²ˆμ§Έμ— μžˆλŠ” μžμ‹ μš”μ†Œ 선택

Content Filter

  • :contains() : μ§€μ •λœ λ¬Έμžκ°€ ν¬ν•¨λœ λͺ¨λ“  μš”μ†Œ 선택
    => $("div:contains('John')").css("text-decoration", "underline");
  • empty : μ„ νƒλœ 집합 쀑 ν•˜μœ„ μš”μ†Œκ°€ μ—†λŠ” μš”μ†Œ 선택
    => $("td:empty") .text("Was empty!") .css("background", "rgb(255,220,200)");
  • has() : μ„ νƒλœ μ§‘ν•©μ˜ μΌμΉ˜ν•˜λŠ” μš”μ†Œ
    => $("div:has(p)").addClass("test");

πŸ“Ž JQuery μ‹€ν–‰ 방법

  • $("μ„ νƒμž") : μ½”λ“œλ₯Ό μ μš©ν•  μ„ νƒμž
  • hide() : hide()와 같이 μ‹€ν–‰ν–ˆμ„ λ•Œ μ μš©λ˜λŠ” μ½”λ“œ μž‘μ„±

πŸ“Ž JQuery Attributes

  • .val() : μ„ νƒν•œ 폼 μš”μ†Œμ˜ 속성 값을 μ„€μ •ν•˜κ±°λ‚˜ λ°˜ν™˜
// μ„ νƒν•œ μš”μ†Œμ˜ 속성 값을 κ°€μ Έμ˜΄
$("μ„ νƒμž").val();
// Get the value from the selected option in a dropdown
$( "select#foo option:checked" ).val();

// 선택산 μš”μ†Œμ˜ 속성 값을 λ³€κ²½
$("μ„ νƒμž").val("속성");
// μ„ νƒν•œ μš”μ†Œμ˜ ν•¨μˆ˜ μ„€μ •
$("μ„ νƒμž").val("ν•¨μˆ˜");
  • .attr() : μ„ νƒν•œ μš”μ†Œμ˜ 속성 κ°’ μ„€μ •
// μ„ νƒν•œ μš”μ†Œμ˜ 속성 값을 κ°€μ Έμ˜΄
$("μ„ νƒμž").attr("속성 이름");
// μ„ νƒν•œ μš”μ†Œμ˜ 속성값을 λ³€κ²½
$("μ„ νƒμž").attr("속성 이름", "속성 κ°’");
// μ„ νƒν•œ μš”μ†Œμ˜ μ—¬λŸ¬κ°œμ˜ 속성 값을 λ³€κ²½
$("μ„ νƒμž").attr({"속성":"속성 κ°’", "속성":"속성 κ°’", .... });
// μ„ νƒν•œ μš”μ†Œμ˜ 콜백 ν•¨μˆ˜ μ„€μ •
$("μ„ νƒμž").attr("속성", μ½œλ°±ν•¨μˆ˜);
  • .addClass() : μ„ νƒν•œ μš”μ†Œμ— 클래슀 μΆ”κ°€
  • .removeClass() : μ„ νƒν•œ μš”μ†Œμ— 클래슀 μ‚­μ œ
  • .toggleClass() : μ„ νƒν•œ μš”μ†Œμ— 클래슀 μΆ”κ°€ λ˜λŠ” μ‚­μ œ
  • .hasClass() : μ„ νƒν•œ μš”μ†Œμ— ν΄λž˜μŠ€κ°€ μžˆλŠ”μ§€ 확인
// μ„ νƒν•œ μš”μ†Œμ— 클래슀 μΆ”κ°€
// 클래슀 이름을 μ—¬λŸ¬ 개 μΆ”κ°€ν•  μˆ˜λ„ 있음
$("μ„ νƒμž").addClass("ν΄λž˜μŠ€μ΄λ¦„");

// μ„ νƒν•œ μš”μ†Œμ˜ 클래슀 μ‚­μ œ
// 클래슀 이름을 μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ λͺ¨λ“  클래슀 μ‚­μ œ
$("μ„ νƒμž").removeClass("ν΄λž˜μŠ€μ΄λ¦„");

// μ„ νƒν•œ μš”μ†Œμ— 클래슀 μΆ”κ°€ λ˜λŠ” μ‚­μ œ
$("μ„ νƒμž").toggleClass("ν΄λž˜μŠ€μ΄λ¦„");

// μ„ νƒν•œ μš”μ†Œμ— ν΄λž˜μŠ€κ°€ μžˆλŠ”μ§€ 확인
$("μ„ νƒμž").hasClass("ν΄λž˜μŠ€μ΄λ¦„");
  • .css() : μ„ νƒν•œ μš”μ†Œμ— CSS 속성 κ°’ μ„€μ •
// μ„ νƒν•œ μš”μ†Œμ˜ 속성 κ°’ κ°€μ Έμ˜΄
$("μ„ νƒμž").css("속성");
// μ„ νƒν•œ μš”μ†Œμ— μ—¬λŸ¬κ°€μ§€ 속성 값을 μ„€μ •
$("μ„ νƒμž").css(["속성","속성",...]);
// μ„ νƒν•œ μš”μ†Œμ˜ 속성 κ°’ λ³€κ²½              
$("μ„ νƒμž").css("속성","속성값");
// μ„ νƒν•œ μš”μ†Œμ— ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ 속성 값을 μ„€μ •
$("μ„ νƒμž").css("속성",ν•¨μˆ˜);

πŸ“Ž JQuery Traversing

  • .children() : μ„ νƒν•œ μš”μ†Œμ˜ λ°”λ‘œ μ•„λž˜ μžμ‹ μš”μ†Œλ§Œ 선택
$("μ„ νƒμž").children();
// μ„ νƒν•œ μš”μ†Œμ˜ λ°”λ‘œ μ•„λž˜ μžμ‹ μš”μ†Œ 쀑 μ„ νƒμžλ₯Ό 톡해 선택
$("μ„ νƒμž").children("μ„ νƒμž");
  • .parent() : μ„ νƒν•œ μš”μ†Œμ˜ λΆ€λͺ¨ μš”μ†Œλ§Œλ₯Ό 선택
  • .parents() : μ„ νƒν•œ μš”μ†Œμ˜ λͺ¨λ“  λΆ€λͺ¨ μš”μ†Œλ₯Ό 선택
$("μ„ νƒμž").parent();
$("μ„ νƒμž").parent("μ„ νƒμž");

$("μ„ νƒμž").parents();
$("μ„ νƒμž").parents("μ„ νƒμž");
  • .siblings() : μ„ νƒν•œ μš”μ†Œλ₯Ό μ œμ™Έν•œ ν˜•μ œ μš”μ†Œλ₯Ό λͺ¨λ‘ 선택
$("μ„ νƒμž").siblings();
$("μ„ νƒμž").siblings("μ„ νƒμž");

참고링크


마무리

  • μ μ‹¬μ‹œκ°„μ— μž μ„ μ’€ μž€λŠ”λ° μ˜€λžœλ§Œμ— κΏˆμ„ κΎΈμ—ˆλ‹€
    => κΏˆμ—μ„œλ„ μΉ΄νŽ˜μ—μ„œ 멋사 ꡐ윑 λ“£κ³  μžˆμ—ˆλŠ”λ° λ„ˆλ¬΄ 웃갸아아아아
  • μ™œ μ œμ΄μΏΌλ¦¬ν•˜λ‹€κ°€ 정신을 놓아버렀가지고..
    => ν˜Όλž€ν•˜λ‹€ ν˜Όλž€ν•΄

0개의 λŒ“κΈ€