Javascript 在没有getElements的情况下,如何通过事件单击检测html元素。。。?

Javascript 在没有getElements的情况下,如何通过事件单击检测html元素。。。?,javascript,dom-manipulation,Javascript,Dom Manipulation,在一个页面上,可能会出现多个可折叠文件!我想现在,如果一个链接被激活。获取在其中激活链接的ProductItem 我已经用getElementsByClass尝试过了,但是得到了一个完整的节点列表,这对我没有帮助!因为一个页面上可能有多个可折叠文件 <div class="collapsible"> <div class="collapsible__item collapsible__item--active"> <div class="co

在一个页面上,可能会出现多个可折叠文件!我想现在,如果一个链接被激活。获取在其中激活链接的ProductItem

我已经用getElementsByClass尝试过了,但是得到了一个完整的节点列表,这对我没有帮助!因为一个页面上可能有多个可折叠文件

<div class="collapsible">
    <div class="collapsible__item collapsible__item--active">
        <div class="collapsible__body" style="">
            <section id="c395" class="frame centered frame-type-flux_productlistitem frame-layout-0">
                <section>
                    <div class="products">
                        <ul class="products__list">
                            <li class="products__item">
                              <p><a>Link</a></p>
                            </li>
                            <li class="products__item">
                               <p><a>Link</a></p>
                            </li>
                        </ul>
                    </div>
                </section>
            </section>
        </div>
    </div>
</div>

  • 链接

  • 链接


只需使用事件委派,即可在高级DOM元素上设置事件处理程序,然后通过事件引用调查煽动元素:

//在高级元素上设置事件
document.querySelector(“可折叠”).addEventListener(“单击”),函数(evt){
//获取有关发起事件的元素的信息
log(“事件起源于:”,evt.target);
log(“产品是:”,evt.target.closest(“li”).classList.toString());
});

  • 链接1

  • 链接2


您也可以分享您的JavaScript吗?很难从标记中分辨出你在做什么和你做了什么。我尝试了一些事情,但没有成功!我希望有人能给我一个提示!