[英]How can I find and return my div element with rails and javascript?
[英]How can I find the <div> element that belongs to this button
我想将程序转换为普通的javascript并删除所有JQuery代码,但是我曾经使用过这样的JQuery函数,以使用“ .hide-this”类来查找,从而仅隐藏属于该卡的Card-Body按钮。
/* Collapse/Expand Card-Content in ListAction*/
$('.btn-hide').click(function() {
$(this)
.closest('.card')
.find('.hide-this')
.toggle();
if ($(this).text() == 'Zuklappen') {
$(this).text('Aufklappen');
} else {
$(this).text('Zuklappen');
}
});
但是,当我尝试用普通的javascript执行此操作时,总是会收到一条错误消息,指出this.closest不是函数
我假设这并不引用添加了actionListener的元素,但是我也不知道如何引用此元素
const toggleCard = document.querySelectorAll('.btn-hide');
toggleCard.forEach(elem => {
elem.addEventListener('click', () => {
const hide = this.closest('.hide-this');
hide.style.display = hide.style.display === 'block' ? 'none' : 'block';
});
});
只需将this.closest
更改为elem.closest
你可以在Codepen上看到它
Ps:还可以使用window.getComputedStyle(hide).display
而不是hide.style.display
来检查elem是否可见。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.