2 분 소요


jquery 기초 문법 (자주 쓰이는 함수)

$("안에 태그, 클래스명, 아이디명 중 하나").이벤트메서드(funciton(){
	$(" ").위의 이벤트가 발생할 , 동작할 메서드;
});


예시 코드

// h1 태그를 클릭할 시, h1태그의 css color를 red 색으로
$("h1").click(function(){
	$("h1").css("color", "red");
}); 

// 다른 방법 on 뒤의 ""부분에 다른 이벤트 메서드 작성 가능
$("h1").on("click", function(){
	$("h1").css("color", "red");
	$("p").css("color", "brown");
});

// .one 메소드는 한번만 실행되고, 더는 실행되지 않는다
$("h1").one("click", function(){
	...
});


참고

// html문서의 로딩이 다 끝나면..
$(document).ready(function( ...

// 이미지 및 기타 외부 리소스를 포함하여 모든 콘텐츠가 로드 완료 후...
$(window).load(function( ...

// 예시)
$(window).load(function(){
	$("h1").click(function(){
		$("h1").css("color", "red");
	}); 
});



html 제어와 관련된 메소드

.after() / .before()

$(”.className”).after(”<div> 내용 추가 </div>”);

해당 요소 뒤에 내용을 추가 한다. (html()와 같은 기능)

before() 은 반대로 앞에 추가한다.


.html()

$(”.className”).html(”<div> 구문 바꾸기</div>”);

삽입하는 내용에 html 태그가 있다면 적용되며 text가 변경된다. (.text() 기능과 유사함)


.prepend() / .append()

$(”.className”).append(”<li>새로 추가된 아이템</li>”);

아래와 같이 html 요소에 .prepend() 메소드를 이용하면 첫번째 li 앞에 새로운 요소를 추가

.append() 는 반대로 마지막 요소 뒤에 추가한다.

<ol id="list">
    <li>첫 번째 아이템</li>
    <li>두 번째 아이템</li>
</ol>

.wrap() / .unwrap()

$(”<div> somthing </div>”).wrap(”.className”);

선택한 요소의 부모요소를 생성

$(”.className”).unwrap();

선택한 요소의 부모 요소를 삭제


.remove()

$(”.className”).remove();

태그를 포함한 요소 전체를 제거


.empty()

$(”.className”).empty();

해당 요소의 내용만 지운다.


.detach()

let name = $(”.className”).detach();

ctrl + x 기능, 잘라낸 부분을 다른 변수에 저장




key 제어와 관련된 메소드

.keydown() / .keyup()

$(”.className”).keydown(function(){})

키보드 키를 누른 상태가 될 때 발생되는 이벤트

$(”.className”).keyup(function(){})

키보드 키를 누르고 뗀 후에 발생


.keyPress()

$(”.className”).keypress(function(){})

keydown() 과 유사하지만 tab, enter 등 특수키에는 발생하지 않음




mouse 제어와 관련된 메소드

.click()

마우스로 클릭했을 때


.mousemove()

지정된 요소 범위 내에서 움직이면 발생


.mousedown() / .mouseup()

마우스 버튼을 누를 때, 뗄 때 발생


.mouseout()

마우스가 지정된 요소 범위 내에서 벗어날 때


.hover()

지정된 요소에 마우스를 올리거나 올렸던 마우스가 벗어날 때



css 제어와 관련된 메소드

.addClass() / .removeClass()

**$(”div”).addClass(”클래스명”);**

지정된 요소에 class 명을 추가한다

반대로 removeClass() 는 class명을 삭제한다.


.css()

**$(”.classname”).css(”color”, “blue”);**

선택된 요소에 css를 추가한다.




JS에서 데이터를 받아오는 방법

  • fetch
  • axios (js 라이브러리)
  • ajax (js 라이브러리)


AJAX ( 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능)

메소드 설명
$.ajax() 비동기식 Ajax를 이용하여 HTTP 요청을 전송함.
$.get() 전달받은 주소로 GET 방식의 HTTP 요청을 전송함.
$.post() 전달받은 주소로 POST 방식의 HTTP 요청을 전송함.
$.getScript() 웹 페이지에 스크립트를 추가함.
$.getJSON() 전달받은 주소로 GET 방식의 HTTP 요청을 전송하여, 응답으로 JSON 파일을 전송받음.
.load() 서버에서 데이터를 읽은 후, 읽어 들인 HTML 코드를 선택한 요소에 배치함.


AJAX 문법

$.ajax({
    type : 'post',           // 타입 (get, post, put 등등)
    url : '/test',           // 요청할 서버url
    async : true,            // 비동기화 여부 (default : true)
    headers : {              // Http header
      "Content-Type" : "application/json",
      "X-HTTP-Method-Override" : "POST"
    },
    dataType : 'json',       // 데이터 타입 (html, xml, json, text 등등)
    data : JSON.stringify({  // 보낼 데이터 (Object , String, Array)
      "no" : no,
      "name" : name,
      "nick" : nick
    }),
    success : function(result) { // 결과 성공 콜백함수
        console.log(result);
    },
    error : function(request, status, error) { // 결과 에러 콜백함수
        console.log(error)
    }
})


AJAX 예시

//   요청한 데이터 : {"member_list":[
//    {"id":"aa1","pw":"bb","addr":"cc","tel":"dd"},
//    {"id":"aa2","pw":"bb","addr":"cc","tel":"dd"},
//    {"id":"aa3","pw":"bb","addr":"cc","tel":"dd"}
//  ]}
 
<script>
$(document).ready(function(){
    $("#listButton").click(getMemberList); //id="listButton"인 태그에 click하면 function getMemberList() 실행
});
function getMemberList(){
    $.ajax({
        url:"list.jsp",                    //list.jsp에 AJAX요청
        success:function(data){
            let obj=JSON.parse(data);      //data를 받아와서 JSON형태로 변환
            let array=["<ol>"]; 
            obj["member_list"].forEach(
                    member =>  array.push("<li>"+member.id+"</li>")    
                    //JSON에 있는 member.id의 value를 li태그에 넣어서 array에 넣어줌
            );
            array.push("</ol>");                                   
 
            $("#result").html(array.join(""));  
            //array의 요소들을 다 합쳐서 하나로 만든후 id="result"인 태그에 html로 출력
        }
    });    
}
</script>
<body>
    <a href="#" id="listButton">회원리스트</a><br/>
    <div id="result">이곳에 회원 목록을 출력하세요</div>
</body>

카테고리: ,

업데이트:

댓글남기기