var svg_node = document.getElementById("svgnode") function parents(posnode,selector) { var flag = false; var initials = selector.substr(0,1) var aim_parent = posnode.parentNode; switch(initials){ case "#": selector = substring(1,selector.length); flag = [].slice.call(aim_parent.id).indexOf(selector) > -1; break; case ".": selector = substring(1,selector.length); flag = [].slice.call(aim_parent.classList).indexOf(selector) > -1; break; default: flag = aim_parent.tagName.toLowerCase() === selector; break; } if (flag) { return aim_parent; } // 遞歸調用時,必須在遞歸調用前面加個return,不然接收的變量會是undefined return parents(aim_parent, selector); } // 若是在遞歸調用前面沒有return,則k_dom的值會爲undefined var k_dom = parents(svg_node,"li");