DonX
DonX

Reputation: 16367

How to find parent element by selector in dojo

I want to find parent element having css class ".site-map-section` of current node. Can someone help me how to achieve this?

Sample :

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);         

        });
});

Upvotes: 0

Views: 5081

Answers (2)

frank
frank

Reputation: 3330

Can you try the following.

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

if you want to use the parent() function than you need to require dojo/NodeList-traverse. You code will than be

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

Upvotes: -1

ben
ben

Reputation: 3568

You need to use method closest provided by 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);         

    });

});

For more details, see: http://dojotoolkit.org/reference-guide/1.10/dojo/NodeList-traverse.html#closest

Upvotes: 3

Related Questions