dojo在foreach中获取当前节点的父节点

Posted

技术标签:

【中文标题】dojo在foreach中获取当前节点的父节点【英文标题】:dojo get parent of present node in foreach 【发布时间】:2015-03-16 13:59:15 【问题描述】:

在 JQuery 中,我使用 parent() 函数来获取任何元素的直接父级。在循环中是这样的

$(this).parent();

我想在dojo中做同样的事情,我的循环是这样的。

dojo.query(".entryURL").forEach(function(node, index, arr)
        var url =  dojo.attr(node, "href");
        // I want to get the parent of node, which will be ofcourse diff for each iteration
      );

有人请给我一个提示,我尝试使用 parent.node 我也在尝试像这样附加到父节点

dojo.place("<span style='color:green'>URL</span>",query(node).parent(), "last");

我在 firebug 中遇到了这个错误

TypeError: _365.appendChild 不是函数

问候

亚当

【问题讨论】:

一个简单的***搜索(dojo node parent)给我买了这个link。 【参考方案1】:

这里有一些问题:

    dojo.place()dojo/dom-construct::place()dojo/query 使用的 dojo/NodeList API 不兼容。取而代之的是使用 dojo/NodeList-manipulatedojo/NodeList-dom 之类的模块。由于您是 jQuery 用户,我建议您使用 dojo/NodeList-manipulate,因为它模仿了 jQuery API。 要检索 DOM 节点的父节点,您确实使用了 parent() 方法,但该部分 API 仅在加载 dojo/NodeList-traverse 时可用。

这是一个使用反馈的工作示例:

require(["dojo/query", "dojo/NodeList-traverse", "dojo/NodeList-manipulate", "dojo/domReady!"], function(query) 
  query(".entryURL").forEach(function(node, index, arr)
    query(node).parent().append("<span style='color:green'>URL</span>");
  );
);

JSFiddle:http://jsfiddle.net/okk8unj5/

【讨论】:

以上是关于dojo在foreach中获取当前节点的父节点的主要内容,如果未能解决你的问题,请参考以下文章

EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中

TreeView 点击触发父节点子节点的连锁反应选中与取消

jQuery获取父节点子节点兄弟节点

遍历 YAML::Node 时如何获取当前节点的父节点?

并查集

jQuery DOM节点操作 - 父节点子节点兄弟节点