[203232]特定のクラスの検索
10582 ワード
特定のクラスの検索
html<div class="todos">
<div class="item" dataset="1">
<div class="content">
<input type="checkbox" class='todo_checkbox' />
<label>테스트1</label>
<input type="text" value="테스트1" />
</div>
</div>
<div class="item" dataset="2">
<div class="content">
<input type="checkbox" class='todo_checkbox' />
<label>테스트2</label>
<input type="text" value="테스트2" />
</div>
</div>
...
</div>
js const init = () => {
//체크박스 클릭시 이벤트 발생(but todos어디든 클릭해도 이벤트발생)
$todos.addEventListener('click', toggleTodo )
}
init()
現在のinit関数を実行するときにtodosクラスの任意の部分をクリックすると、イベントがトリガーされます.クラス名がtodo_checkbox
のときにクリックイベントのみを発生させたい場合は、toggleTodo関数をどのように記述しますか?
基礎知識
1.クリックした要素のクラス名を検索
$todosのサブエレメントをクリックして、コンソールウィンドウでクラス名を指定します. const toggleTodo = (e) => {
//todo_checkbox를 클릭한 경우에만 동작하게끔
console.log(e.target.className)
}
したがって、クラス名がtodo_checkbox
でなければ、todo_checkbox
でのみイベントが発生するようにすぐに戻ることができる. const toggleTodo = (e) => {
if(e.target.className !== 'todo_checkbox') return
}
2.todo checkboxが何番目のサブエレメントであるかを検索
各エントリにはデータIDが1つあります.todo_checkbox
をクリックすると、e.target.closest('.item')
を使用して最近のアイテムを検索し、そのアイテムのdata-idを取得して、いくつかのアイテムの要素を検索できます. const toggleTodo = (e) => {
if(e.target.className !== 'todo_checkbox') return
//클릭한 아이템의 가장 가까운 클래스 네임이 item인 요소 찾기
const $item = e.target.closest('.item')
//찾은 item요소의 data-id찾기
const id = $item.dataset.id
}
Reference
この問題について([203232]特定のクラスの検索), 我々は、より多くの情報をここで見つけました
https://velog.io/@0seo8/220322-특정-클래스-찾기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
<div class="todos">
<div class="item" dataset="1">
<div class="content">
<input type="checkbox" class='todo_checkbox' />
<label>테스트1</label>
<input type="text" value="테스트1" />
</div>
</div>
<div class="item" dataset="2">
<div class="content">
<input type="checkbox" class='todo_checkbox' />
<label>테스트2</label>
<input type="text" value="테스트2" />
</div>
</div>
...
</div>
const init = () => {
//체크박스 클릭시 이벤트 발생(but todos어디든 클릭해도 이벤트발생)
$todos.addEventListener('click', toggleTodo )
}
init()
const toggleTodo = (e) => {
//todo_checkbox를 클릭한 경우에만 동작하게끔
console.log(e.target.className)
}
const toggleTodo = (e) => {
if(e.target.className !== 'todo_checkbox') return
}
const toggleTodo = (e) => {
if(e.target.className !== 'todo_checkbox') return
//클릭한 아이템의 가장 가까운 클래스 네임이 item인 요소 찾기
const $item = e.target.closest('.item')
//찾은 item요소의 data-id찾기
const id = $item.dataset.id
}
Reference
この問題について([203232]特定のクラスの検索), 我々は、より多くの情報をここで見つけました https://velog.io/@0seo8/220322-특정-클래스-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol