ฉันต้องการรับแอตทริบิวต์ "name" ของ div ที่ถูกคลิกและใช้สำหรับฟังก์ชันอื่นโดยใช้ vanilla Javascript ฉันลองวิธีแก้ปัญหาหลายอย่างที่พบใน Stack Overflow แต่ไม่มีอะไรทำงาน ใครสามารถช่วยได้บ้าง?
นี่คือสิ่งที่ฉันได้ลอง (เวอร์ชันที่เหมาะกับฉัน):
let navLinks = document.querySelectorAll(".navbar .item");
navLinks.forEach(function(link) {
link.addEventListener("click", function(e) {
let attr = e.target.getAttribute('name');
console.log(attr); //logs null
//openPage(".home");
});
});
<nav class="navbar">
<div class="container">
<div name="home" class="item active">
<div><img src="img/icons/home1.png"></div>
<div>Home</div>
</div>
<div name="faq" class="item">
<div><img src="img/icons/faq2.png"></div>
<div>FAQ</div>
</div>
<div name="calc" class="item cta_calc">
<div><img src="img/icons/dash1.png"></div>
</div>
<div name="about" class="item">
<div><img src="img/icons/info3.png"></div>
<div>About</div>
</div>
<div name="contact" class="item">
<div><img src="img/icons/info2.png"></div>
<div>Contact</div>
</div>
</div>
</nav>