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-manipulate
或 dojo/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中获取当前节点的父节点的主要内容,如果未能解决你的问题,请参考以下文章