Javascript 如何在分配多个属性时不重复我自己
我有一个事件监听器,带有回调函数Javascript 如何在分配多个属性时不重复我自己,javascript,dom-events,Javascript,Dom Events,我有一个事件监听器,带有回调函数event的参数,分配给一个元素。有没有什么方法可以选择该元素的第五个父元素,而无需写下此代码 event.target.parentNode.parentNode.parentNode.parentNode.parentNode; 没有第n个parent方法,因此您必须执行一组parentNode,或者使用它遍历DOM树,直到找到匹配项为止。因此,你会发现它的独特之处并加以利用 document.querySelector(“输入”).addEventLis
event
的参数,分配给一个元素。有没有什么方法可以选择该元素的第五个父元素,而无需写下此代码
event.target.parentNode.parentNode.parentNode.parentNode.parentNode;
没有第n个parent方法,因此您必须执行一组parentNode,或者使用它遍历DOM树,直到找到匹配项为止。因此,你会发现它的独特之处并加以利用
document.querySelector(“输入”).addEventListener(“输入”,函数(evt){
常量行=evt.target.closest('.row');
控制台日志(行);
});代码>
没有第n个parent方法,因此您必须执行一组parentNode,或者使用它遍历DOM树,直到找到匹配项为止。因此,你会发现它的独特之处并加以利用
document.querySelector(“输入”).addEventListener(“输入”,函数(evt){
常量行=evt.target.closest('.row');
控制台日志(行);
});代码>
如果您知道需要遍历的父元素链的确切数量,那么您可以实现simple helper
const takeParent=(目标,计数)=>{
而(--count>=0){
如果(目标===文档){
打破
}
target=target.parentNode;
}
回报目标;
};
takeParent(myElement,5);//如果有少于5个家长,则提供myElement的第5个家长或“文件”
如果您知道需要遍历的父元素链的确切数量,那么您可以实现simple helper
const takeParent=(目标,计数)=>{
而(--count>=0){
如果(目标===文档){
打破
}
target=target.parentNode;
}
回报目标;
};
takeParent(myElement,5);//如果有少于5个家长,则提供myElement的第5个家长或“文件”
当然,有几种方法可以实现这一点
I.JQuery方法:
$('#element1').parents().eq(5);
二,。原始Javascript
Function returnNthParent(n, element)
{
parent = element;
for (i = 0; i < n; i++)
{
parent = parent.parentNode;
}
return parent;
}
函数returnNthParent(n,元素)
{
父元素=元素;
对于(i=0;i
当然,有几种方法可以实现这一点
I.JQuery方法:
$('#element1').parents().eq(5);
二,。原始Javascript
Function returnNthParent(n, element)
{
parent = element;
for (i = 0; i < n; i++)
{
parent = parent.parentNode;
}
return parent;
}
函数returnNthParent(n,元素)
{
父元素=元素;
对于(i=0;i
我没有要求这样做,这就是你不需要重复自己就能做到的方法。这是你自找的找到元素的第五个父元素的一些独特之处,并将其作为目标。一旦有人来重组HTML,以“第五位家长”为目标将破坏您的代码。这是一种非常脆弱的编程方法。。你是对的。。对不起,我不是自找麻烦的,这就是你不用重复自己就能做到的。这是你自找的找到元素的第五个父元素的一些独特之处,并将其作为目标。一旦有人来重组HTML,以“第五位家长”为目标将破坏您的代码。这是一种非常脆弱的编程方法。。你是对的。。很抱歉