6
我覺得這應該是一個簡單的問題,但可惜我發現自己卡住了。我想要做的是設置一種方式,以便每次單擊表格(或任何位置)上的單元格時,它會顯示每個元素的parentNode,實質上遍歷DOM樹。我想我會需要使用elem.parentNode,但我被困在遍歷部分。任何在那裏可以幫助我的大師,這將不勝感激。遍歷DOM樹顯示有關父節點的信息
我覺得這應該是一個簡單的問題,但可惜我發現自己卡住了。我想要做的是設置一種方式,以便每次單擊表格(或任何位置)上的單元格時,它會顯示每個元素的parentNode,實質上遍歷DOM樹。我想我會需要使用elem.parentNode,但我被困在遍歷部分。任何在那裏可以幫助我的大師,這將不勝感激。遍歷DOM樹顯示有關父節點的信息
var element; //your clicked element
while(element.parentNode) {
//display, log or do what you want with element
element = element.parentNode;
}
var tables = document.getElementsByTagName('table');
for (var i=0,len=tables.length;i<len;++i){
tables[i].onclick = function(evt){
if (!evt) evt = window.event;
var element = evt.target || evt.srcElement;
while (element){
console.log(element);
element = element.parentNode;
}
};
}
如果你真的想要點擊的任何元素無處不在,後來乾脆:
document.body.onclick = function(evt){
if (!evt) evt = window.event;
var element = evt.target || evt.srcElement;
while (element){
console.log(element);
element = element.parentNode;
}
};
我認爲,直到今天該事件的屬性,如`currentTarget`和`在IE target`無法獲得。看起來他們只是在IE中有堂兄弟,就像其他各種屬性一樣。感謝您的洞察力。 – 2011-01-31 18:15:25
+1並且在達到10k時做得很好 – qwertymk 2011-01-31 18:28:48