Javascript 按类名获取祖先
我有一个组件,它有按钮和列表,这两个按钮都在单击时执行事件。我需要一种获取这些元素的祖先元素的通用方法。结构看起来像Javascript 按类名获取祖先,javascript,html,google-closure-library,Javascript,Html,Google Closure Library,我有一个组件,它有按钮和列表,这两个按钮都在单击时执行事件。我需要一种获取这些元素的祖先元素的通用方法。结构看起来像 <div class='a'> <button class ='b' data-name="hello"> <span class ='c'>clickMe <span>somehting</span> </span> <button>
<div class='a'>
<button class ='b' data-name="hello">
<span class ='c'>clickMe
<span>somehting</span>
</span>
<button>
<ul class ='d'>
<li data-name="about">
<span class ='e'>something here
<span>somehting</span>
</span>
</li>
<li data-name="home">
<span class ='e'>something elser here
<span>somehting</span>
</span>
</li>
</ul>
</div>
不确定如何获得正确的元素,无论它是按钮还是li。我是否需要向所有元素添加唯一的类
使用jquery.parentsli函数。它将选择与css过滤器匹配的所有父级。所以你可以
var parentli=targete1.parentsli
或者类似的东西
编辑:
不知道为什么我被否决了,这是我的想法
可能按f12检查元件并查看控制台日志
var onClick=函数{
var parentEl=$this.parentsbutton,li[0];
console.logparentEl;
$result[0]。innerText=parentEl.getAttributedata-name;
};
$'span.c'。单击鼠标右键;
$'li span.e'。单击鼠标右键;
点击我
某物
这里有东西
一些
还有别的吗
某物
结果显示在这里只需使用e.currentTarget
var result=document.querySelector'result';
var clickables=document.queryselectoral'按钮,li';
//向元素添加单击侦听器
对于变量i=0,l=clickables.length;ivar targetel = goog.dom.getAncestorByClass(e.target,null,class??);
var button = targete1.parents("div").children[0];