David Debnar David Debnar - 4 months ago 12
Javascript Question

Getting attribute of a parent node

I am trying to use


which should return 0 - 5 in string but it just won't work. I am using it in a function like this

$(this).html(SomeFunction('SomeString', $(this).parentNode.attr('data-element')));

All the elements with class 'someClass' have a parentNode

<li class="element" data-element: 1 (or any number from 0 to 5 (including))> </li>

and I have no idea where is the mistake. What am I doing wrong?



You are mixing jQuery and plain javascript in the same line of code and that will not work. You can either use:

$(this).parent().attr('data-element');   // jQuery


this.parentNode.getAttribute("data-element");   // plain javascript

parentNode is not a property of a jQuery object, so you can't mix the two the way you were doing it. The jQuery method for getting the parent is .parent().