2017-06-23 47 views
0

我在应用中添加了一点点击事件给类。 click事件只是删除父元素上的一个类。在没有JQuery的情况下实现onclick事件

$(function(){ 
    $(".flash .close").on("click", function(){ 
    $(this).parent().removeClass("active"); 
    }) 
}); 

这是在我的整个应用程序的唯一使用jQuery的,所以我很乐意重新写这个片段没有JQuery的,所以我可以消除,作为一个依赖一起。

但是,我不确定从本地JavaScript实现此点击的方式开始。我对JavaScript没有多少了解,而我所知道的小部分涉及JQuery和React等框架。

谢谢!

+0

消除jQuery的标签 – guradio

+0

querySelectorAll,的addEventListener, classLis吨。学习如何使用它,看起来像一个非常基本的任务。 – epascarello

+0

在元素类名称之间添加。 –

回答

2

尝试用querySelectorAll来选择元素。然后使用classList.remove()来删除parentElement的类名称。

window.onload=function(){ 
 
document.querySelectorAll(".flash , .close").forEach(function(a){ 
 
a.addEventListener("click", function(){ 
 
    this.parentElement.classList.remove("active"); 
 
    }) 
 
    }) 
 
}
.active{ 
 
color:red; 
 
}
<div class="active"> 
 
<a class="flash">hi</a> 
 
</div>

+1

完美!谢谢:) – user2490003

+1

@ user2490003不客气 – prasanth

0

参考试试这个小提琴 https://jsfiddle.net/z6uopyhy/1/

var flashCloseButton = document.getElementsByClassName('close'); 

for(var i = 0; i < flashCloseButton.length; i++){ 
    flashCloseButton[i].addEventListener("click", function(e) { 
        this.parentElement.classList.remove("active"); 
    }); 
} 
相关问题