我要删除在用户单击div之后立即添加的类。
我的意思是,单击div后,我希望删除该类。
https://codepen.io/jinzagon/pen/XWdVbgo
<script>
$(document).ready(function() {
$('.section').click(function(e) {
e.preventDefault();
var $responsiveDiv = $('.response')
$responsiveDiv.addClass('clicked');
setTimeout(function() {
window.location.assign($a.attr('href'));
}, 6700);
});
});
</script>
答案 0 :(得分:3)
jQuery有一个toggleClass
函数供您使用。 Link
在您的示例中,此处-单击部分时,背景颜色将切换(为了便于观察)。
.clicked {
background-color: red
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="section">
<div class="response">
This is a response
</div>
</div>
<script>
$(document).ready(function() {
$('.section').click(function(e) {
e.preventDefault();
var $responsiveDiv = $('.response');
$responsiveDiv.toggleClass('clicked');
});
});
</script>
答案 1 :(得分:1)
您需要使用setTimeout推迟删除
input= [value for value, key in voltage.items()]
答案 2 :(得分:1)
您可以为此使用功能toggleClass()
<script>
$(document).ready(function() {
$('.section').click(function(e) {
e.preventDefault();
var $responsiveDiv = $('.response')
$responsiveDiv.toggleClass('clicked'); //Toggle class instead of Add
setTimeout(function() {
window.location.assign($a.attr('href'));
}, 6700);
});
});
</script>
答案 3 :(得分:1)
使用 javascript ,您可以使用.classList.remove("foo");
function addClassThenRemove(){
// grab h1 element
let h1Element = document.querySelector('h1')
// add class to the element
h1Element.classList.add('new')
setTimeout(function(){
//after 2 seconds remove class new
h1Element.classList.remove('new')
}, 2000)
}
.new{
color: blue;
}
<h1>Hello World</h1>
<button onClick="addClassThenRemove()">Click Me!</button>
答案 4 :(得分:0)
使用jQuery删除类名的一种方法是.removeClass()
参考https://api.jquery.com/removeclass/
我更喜欢的另一种方法是切换类名。这是参考 jQuery:https://www.w3schools.com/jquery/jquery_css_classes.asp 香草Javascript:https://www.w3schools.com/howto/howto_js_toggle_class.asp
最后但并非最不重要的,最简单的方法是将className设置为none。以JavaScript为例
document.querySelector('.clicked').className = '';