사용자가 버튼을 클릭하여 입력을 제거할 수 있는 동적 목록을 만들고 있습니다. 새 입력이 생성되면 새 입력이 생성될 때마다 1씩 증가하는 카운터를 사용하여 하위 요소에 ID를 할당합니다. 그런데 ID별로 입력을 삭제하려고 하면 가장 최근에 생성된 입력만 삭제 가능한 것 같습니다.
5개의 새 입력을 생성한 다음 input:2에서 삭제 버튼을 클릭하면 5번째 입력과 버튼이 삭제되는 것을 확인했습니다. 따라서 프로세스 초기에 입력 및 버튼 ID를 설정하더라도 삭제 버튼을 클릭하면 행 카운터의 현재 값에만 의존합니다.
누가 나에게 이전 ID를 가리키는 방법에 대한 조언을 줄 수 있나요? 아니면 완전히 다른 방식으로 다시 작성해야 합니까? 저는 JS를 처음 접했기 때문에 이것이 끔찍한 JS 스크립트라면 사과드립니다!
으아아아 으아아아
P粉3114649352024-01-17 13:07:07
row
的值在每次迭代时都会发生变化,并且您的点击函数仅考虑它的最后一个值。您可以使用 let
确定其范围,bind
또는 요소를 제거 함수에 전달하면 조회도 건너뜁니다.
P粉6052337642024-01-17 00:06:51
새 요소를 추가할 때마다 row
的值都会更新,因此不要直接使用 row
来获取 id。直接访问 button.id
和 input.id
.