我试图改变我的页面的innerHTML,成为我点击的元素的innerHTML,唯一的问题是我希望它采取整个元素如:
<section class="homeItem" data-detail="{"ID":"8","Name":"MacBook Air","Description":"2015 MacBook A…"20","Price":"899","Photo":"Images/Products/macbookAir.png"}"></section>
而我用JavaScript编写的代码:
function selectedProduct(event){
target = event.target;
element = document.getElementById("test");
element.innerHTML = target.innerHTML;
}
将以我点击的特定元素为目标。
我希望实现的是,当我单击元素中的任何位置时,它将获取整个元素的innerHTML,而不是我单击的特定元素的innerHTML。
我会假设它是与选择一个被点击的父元素有关的,但是我不确定并且在网上找不到任何东西。
如果可能的话,我希望远离JQuery
我认为您需要的是使用Event.currentTarget
。 这将包含实际具有事件侦听器的元素。 因此,如果整个具有eventlistener
Event.Target
将是单击的元素,则将位于
Event.CurrentTarget
中。
否则,parentnode
可能就是您要查找的内容。
链接到CurrentTarget
链接到parentNode
要使用元素的父级,请使用ParentElement
:
function selectedProduct(event){
var target = event.target;
var parent = target.parentElement;//parent of "target"
}
function getParent(event)
{
return event.target.parentNode;
}
示例:1。 document.body.AddEventListener(“click”,getParent,false);
返回已单击的当前元素的父元素。