2017-06-23 203 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"); 
    }); 
} 
相關問題