[英]Can you target an elements parent element using event.target?
我正在尝试将页面的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;
}
将针对我点击的特定元素。
我想要实现的是,当我单击<section>
元素中的任何位置时,它将采用整个元素的 innerHTML 而不是我单击的特定元素。
我认为这与选择被点击的元素的父元素有关,但我不确定并且在网上找不到任何东西。
如果可能的话,我想远离 JQuery
要使用元素的父元素,请使用parentElement
:
function selectedProduct(event){
var target = event.target;
var parent = target.parentElement;//parent of "target"
}
handleEvent(e) {
const parent = e.currentTarget.parentNode;
}
function getParent(event)
{
return event.target.parentNode;
}
示例: 1.
document.body.addEventListener("click", getParent, false);
返回您单击的当前元素的父元素。
- 如果你想在任何函数内部使用,那么传递你的事件并像这样调用函数:
function yourFunction(event){ var parentElement = getParent(event); }
function yourFunction(event){ var parentElement = getParent(event); }
$(document).on("click", function(event){
var a = $(event.target).parents();
var flaghide = true;
a.each(function(index, val){
if(val == $(container)[0]){
flaghide = false;
}
});
if(flaghide == true){
//required code
}
})
var _RemoveBtn = document.getElementsByClassName("remove");
for(var i=0 ; i<_RemoveBtn.length ; i++){
_RemoveBtn[i].addEventListener('click',sample,false);
}
function sample(event){
console.log(event.currentTarget.parentNode);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.