如何在dojo中通过选择器查找父元素

时间:2015-07-21 06:41:48

标签: javascript html css dojo

我想找到当前节点的css类“.site-map-section”的父元素。有人可以帮我解决这个问题吗?

示例:

require(["dojo/dom-prop", "dojo/query", "dojo/dom", "dojo/on", "dojo/NodeList-dom"], function (domProp, query, dom, on) {
        query('.footer .site-map a').forEach(function (node) {
                   var parentCategory = query(node).parent('.site-map-section');
           console.log(parentCategory);         

        });
});

2 个答案:

答案 0 :(得分:3)

您需要使用closest提供的方法dojo/NodeList-traverse

require(["dojo/dom-prop", "dojo/query", "dojo/dom", "dojo/on", "dojo/NodeList-dom", "dojo/NodeList-traverse"], function (domProp, query, dom, on) {
    query('.footer .site-map a').forEach(function (node) {
               var parentCategory = query(node).closest('.site-map-section');
       console.log(parentCategory);         

    });

});

有关详细信息,请参阅: http://dojotoolkit.org/reference-guide/1.10/dojo/NodeList-traverse.html#closest

答案 1 :(得分:-1)

您可以尝试以下方法。

// Assuming there is only one element of class site-map-section
var parentCategory = query('.site-map-section',node)[0].parentNode;

如果要使用parent()函数,则需要dojo/NodeList-traverse。你的代码不是

var parentCategory = query('.site-map-section',node).parent();