链接和javascript遍历?
我的HTML如下所示:链接和javascript遍历?,javascript,jquery,Javascript,Jquery,我的HTML如下所示: <div class="panel"> <div class="panel-heading"></div> <div class="panel-body"></div> </div> 这就剩下面板类了。一切都很好 但现在我想抓住面板主体。不幸的是,这样做是行不通的: e.target.parentNode.querySelector('.panel-body') 在vanilla
<div class="panel">
<div class="panel-heading"></div>
<div class="panel-body"></div>
</div>
这就剩下面板
类了。一切都很好
但现在我想抓住面板主体
。不幸的是,这样做是行不通的:
e.target.parentNode.querySelector('.panel-body')
在vanilla javascript中是否有一种干净的方法可以做到这一点?如果您知道节点的类,您可以始终使用
文档对象:
如果需要在事件(如单击)的上下文中获取节点,则可以委托
- 查找您希望访问的所有节点的祖先节点。
- 例如
.panel
- 在该节点上注册事件。
- 例如
panel.addEventListener('click',callback)
- 在冒泡阶段,通过将
事件.target
与事件.currentTarget
(注册到事件的节点)进行比较,找到事件.target
- 例如,
if(e.target!==e.currentTarget){…
单击节点,将显示其标记和类。
详细信息在片段中注释
一小条
//引用顶部元素
var panel=document.querySelector('.panel');
//注册。点击事件面板
panel.addEventListener(“单击”,高亮显示);
功能突出显示(e){
//如果单击的节点不是.panel
如果(e.target!==e.currentTarget){
//获取单击的节点的类
var tgtClass=e.target.className;
//获取单击的节点的标记
var tgtTag=e.target.tagName;
}
/*设置单击节点的标记和类
||因为它的内容。
*/
e、 target.textContent+=''+tgtTag+'.+tgtClass;
}
[class*=面板]{
边框:1px蓝色虚线;
颜色:红色;
}
标题
副标题
内容A
内容B
页脚
您所拥有的一切运行良好:。您有什么问题吗?我返回空值。您的示例似乎对我也没有多大帮助。尝试使用e.currentTarget.parentNode
或this.parentNode
…如果在元素中有子元素,您将侦听器分配给target
可以是子元素。除此之外,显示完整的co根据@Stephan-v取消上下文“不做太多”是什么意思?它表明元素已被选中,方法是将类添加到元素中,并将其记录在控制台中。请添加可重现问题的代码。
e.target.parentNode.querySelector('.panel-body')
var tgt = document.querySelector('.panel-body');