能否将以下jQuery代码转换为Vanilla Javascript?
原生JavaScript替代方案
原jQuery代码的作用是:给所有类名为flip-button的元素绑定点击事件,点击时找到当前按钮最近的类名为flip-card-inners的父元素,切换flip-card-active类。
转换后的原生JS代码如下:
// 获取所有.flip-button元素 const flipButtons = document.querySelectorAll('.flip-button'); // 遍历每个按钮并绑定点击事件 flipButtons.forEach(button => { button.addEventListener('click', function() { // 找到最近的.flip-card-inners父元素,切换类 const cardInner = this.closest('.flip-card-inners'); if (cardInner) { // 确保找到目标元素再执行操作 cardInner.classList.toggle('flip-card-active'); } }); });
关键实现说明:
document.querySelectorAll('.flip-button'):替代jQuery的$('.flip-button'),返回匹配选择器的所有元素组成的NodeList,可直接用forEach遍历。addEventListener('click', ...):替代jQuery的click()方法,为元素绑定点击事件监听器。this.closest('.flip-card-inners'):与jQuery的$(this).closest('.flip-card-inners')功能完全一致,找到当前元素最近的匹配选择器的祖先元素。classList.toggle('flip-card-active'):替代jQuery的toggleClass()方法,切换元素的指定类名。
内容的提问来源于stack exchange,提问作者joe mama
相关产品推荐
相关产品推荐

