打印父节点直到正文
print parentNode until body
我有这个代码:
<body onMouseDown="javaScript:mouseEventHandler(event);">
<div id="hello">
<table>
<tr>
<td>Hi friends</td>
</tr>
</table>
</div>
<div id="result">
<ul id="ularraydom">
</ul>
</div>
我需要输入一个名为 result 的新div,正如我所展示的那样,一个 td 的父节点数组,直到我得到 BODY。
结果应该是这样的:
<ul id="ularraydom">
<li>TD</li>
<li>TR</li>
<li>TABLE</li>
<li>DIV</li>
<li>BODY</li>
</ul>
我尝试过:
function mouseEventHandler(mEvent)
{
// Internet Explorer
if (mEvent.srcElement)
{
alert(mEvent.srcElement.nodeName);
}
// Netscape and Firefox
else if (mEvent.target)
{
var ularraydom = document.getElementById("ularraydom");
ularraydom.innerHTML = "<li>" + mEvent.target.parentNode.nodeName; + "</li>";
}
}
递
归是你的朋友:
function printNode(node){
var ularraydom = document.getElementById("ularraydom");
ularraydom.innerHTML += "<li>" + node.nodeName; + "</li>"; // be aware of the += !
if(node.nodeName !== "BODY"){
printNode(node.parentNode); //recursion!
}
}
<body>
<div id="hello">
<table>
<tr>
<td onclick="printNode(this)">click here</td>
</tr>
</table>
</div>
<div id="result">
<ul id="ularraydom">
</ul>
</div>
</body>
向上遍历非常简单:
var node = mEvent.target.parentNode;
while (node && node.nodeName !== 'HTML') {
// print node.nodeName ...
node = node.parentNode; // up
}
相关文章:
- 在自定义截面树中获取父节点
- 如何避免在取消选中子节点时取消选中父节点
- 如果未选中子节点,则未选中父节点
- 仅使用某些子节点访问xml中父节点的子节点
- 如何以编程方式在 jsTree 中选择一个节点并打开所有父节点
- 使用Javascript设置带有子节点的父节点的类's文本等于.
- 如何确定父节点是否有子节点
- Javascript在没有jQuery的情况下获取X父节点
- 如何从wijmo-flex网格的树视图中的节点转到父节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- JQuery 选择父节点并更改其类名
- 如何删除javascript中的节点,而不需要父节点为null
- 如果未全部选中子节点,则取消选中父节点
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 取消绑定父节点和子节点
- jstree jquery插件-获取父节点的所有子节点和子节点
- 使用jquery检索父节点的子节点
- 打印父节点直到正文
- 关闭菜单,单击带有事件侦听器和父节点的正文