4 글 보임 - 1 에서 4 까지 (총 4 중에서)
-
글쓴이글
-
2024년 1월 22일 12:32 #110936

서동현참가자<!DOCTYPE html> <html lang="ko">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title></title> <link rel="stylesheet" href="/main.css"> </head>
<body class="grey-bg">
<%- include('nav.ejs') %><div class="white-bg"> <% for(let i=0; i < posts.length; i++) { %> <div class="list-box"> <div class="list-flexbox"> <h4>"> <%= posts[i].title %> </h4> <form action="/edit/<%= posts[i]._id %>"><button>수정</button></form> <span class="delete" data-id="<%= posts[i]._id %>">🗑️</span> </div> <p> <%= posts[i].content %> </p> </div> <% } %></div> <script> document.querySelectorAll('.delete').addEventListener('click', function (e) { fetch('/delete?docid=' + e.target.dataset.id, { method: 'DELETE', }) });</script> </body>
</html> 계속 에러납니다.
for (let i = 0; i < posts.length; i++) { document.querySelectorAll('.delete')[i].addEventListener('click', function (e) { fetch('/delete?docid=' + e.target.dataset.id, { method: 'DELETE', }) }); } 원래는 이렇게 작성했는데 posts를 받아오지 못하는데 이것도 설명같이부탁드립니다.2024년 1월 22일 15:23 #110959
codingapple키 마스터querySelectorAll()로 찾은건 array라서 항상 뒤에 [] 붙여서 써야합니다 posts라는 변수 정의를 빼먹었나봅니다
2024년 1월 22일 16:54 #110969
서동현참가자let deleteButtons = document.querySelectorAll('.delete'); deleteButtons.forEach(function (button) { button.addEventListener('click', function (e) { fetch('/delete?docid=' + e.target.dataset.id, { method: 'DELETE', }) }); }); 일단 이렇게 수정했습니다. []뒤에 써야할걸 찾지 못하겠습니다. 그리고 posts는 서버에서 받아온건데 스크립트태그 내부에서 어떻게 사용할수있을까요 -
글쓴이글
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
- 답변은 로그인 후 가능합니다.
