WEB
[JQuery] JQuery를 사용해서 동적으로 요소 추가하기
yo~og
2021. 11. 30. 13:36
JQuery를 사용해서 엔터를 누를때마다 li에 추가 되게 만들어봅시다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
jquery를 사용하기 위해 위 코드를 추가해줍니다.
<p>메세지를 입력하고 Enter 를 입력해 보세요</p>
<input id="inputMsg" type="text" placeholder="메세지 입력..."/>
<ul id="msgList">
<li>하나</li>
<li>두울</li>
</ul>
텍스트를 입력 할 input박스를 만들어주고 ul안에 li을 만들어줍니다.
<script>
$("#inputMsg").on("keyup", function(e){
//만일 엔터를 쳤다면
if(e.keyCode == 13){
//입력한 value 값을 읽어와서
let msg=$(this).val();
// li 요소를 만들어서 innerText 를 출력하고 원하는 곳에 추가하기
$("<li>").text(msg).appendTo("#msgList");
//입력한 내용 지우기
$(this).val("");
}
});
</script>
키를 업할때 작동하는 이벤트 리스너를 만들어줍니다.
e를 파라미터로 받아 키 코드가 13일때(엔터) if 문을 실행시켜줍니다.
input박스이므로 val()으로 텍스트를 읽어옵니다.
$("<li>")로 li를 하나 만들어주고 text(msg)로 텍스트를 만들어줍니다.
appendTo()로 ul의 가장 뒤에 더해줍니다.
추가하기를 적고 엔터를 누르면 추가가 된 모습을 볼 수 있습니다.
전체 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>/jquery/Step02_EventListener4.jsp</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<p>메세지를 입력하고 Enter 를 입력해 보세요</p>
<input id="inputMsg" type="text" placeholder="메세지 입력..."/>
<ul id="msgList">
<li>하나</li>
<li>두울</li>
</ul>
<script>
/*
input 요소에 keyup 이벤트가 일어나고 그 키가 만일 Enter 라면
li 요소를 동적으로 만들어서 innerText 로 input 요소에 입력한 문자열을 읽어와서 넣어주고
li 를 id 가 msgList 인 곳에 추가해 보세요.
- hint
$("<li>").text("xxx").appendTo("#msgList");
$( ).on("keyup", function(e){
let code = e.keyCode;
});
*/
$("#inputMsg").on("keyup", function(e){
//만일 엔터를 쳤다면
if(e.keyCode == 13){
//입력한 value 값을 읽어와서
let msg=$(this).val();
// li 요소를 만들어서 innerText 를 출력하고 원하는 곳에 추가하기
$("<li>").text(msg).appendTo("#msgList");
//입력한 내용 지우기
$(this).val("");
}
});
</script>
</body>
</html>