<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script
src="https://kit.fontawesome.com/1a36b4460f.js"
crossorigin="anonymous"
></script>
<script>
window.onload = function () {
let list = document.getElementById("list");
list.addEventListener("click", function (e) {
if (e.target.tagName == "UL") {
return;
}
let iconElement =
e.target.tagName == "LI" ? e.target.children[0] : e.target;
iconElement.classList.toggle("fa-regular");
iconElement.classList.toggle("fa-solid");
});
};
</script>
<style>
li {
font-size: 50px;
user-select: none;
}
</style>
</head>
<body>
<ul id="list">
<li>list1<i class="fa-regular fa-heart"></i></li>
<li>list2<i class="fa-regular fa-heart"></i></li>
<li>list3<i class="fa-regular fa-heart"></i></li>
</ul>
</body>
</html>
<script src="https://kit.fontawesome.com/1a36b4460f.js" crossorigin="anonymous"></script>
이거 복사 붙여넣기 하면 된다.
font-awesome 홈페이지 : https://fontawesome.com/
window.onload = function () { let list = document.getElementById("list"); list.addEventListener("click", function (e) { if (e.target.tagName == "UL") { return; } // 이 부분임 let iconElement = e.target.tagName == "LI" ? e.target.children[0] : e.target; iconElement.classList.toggle("fa-regular"); iconElement.classList.toggle("fa-solid"); }); };
<style> li { font-size: 50px; user-select: none; } </style>
user-select 속성을 none으로 서정해주면 됨