[javascript] JQuery add class to parent element

I have to set a class name on a (li) element. This script find all the (a) elements in the list, and creates a click event.

jQuery("#" + ElementID).find(TagName).click(function () {

    GetPageByUrl(jQuery(this).attr("href"));
    jQuery(this).parent().addClass('yourClass');
    //ChangeSelectedMenuItem(this);
    return false;
});

The parent of every (a) element is a (li) element

But nothing happens when this line is executing jQuery(this).parent().addClass('yourClass');

Everything else is working just fine.

What am I doing wrong here?


Okay, but it still won't work. It won't add any class jQuery(this).addClass('yourClass'); Should add a class to the (a) element, but it doesn't?

This question is related to javascript jquery

The answer is


$(this.parentNode).addClass('newClass');

Specify the optional selector to target what you want:

jQuery(this).parent('li').addClass('yourClass');

Or:

jQuery(this).parents('li').addClass('yourClass');