jQuery添加类到父元素

41
我需要在(li)元素上设置一个类名。这个脚本找到列表中的所有(a)元素,并创建了一个点击事件。
jQuery("#" + ElementID).find(TagName).click(function () {

    GetPageByUrl(jQuery(this).attr("href"));
    jQuery(this).parent().addClass('yourClass');
    //ChangeSelectedMenuItem(this);
    return false;
});
每个(a)元素的父元素都是一个(li)元素。
但是当执行这行代码时 jQuery(this).parent().addClass('yourClass'); 没有任何效果。
其他所有东西都能正常工作。
我在这里做错了什么?
好的,但它仍然不起作用。应该将一个类添加到(a)元素,但是它没有?

发布的答案应该有效。为了看到它们为什么不起作用,我们需要看到您正在使用的HTML以及其他相关的jQuery / JavaScript。您能否发布一个JS Fiddle演示来重现您的问题? - David Thomas
2个回答

62

指定可选选择器以定位您想要的内容:

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

或者:

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

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

1
在某种程度上,这个评论既正确又不正确。它取决于你的系统。如果你需要动态添加一个类,那么使用jQuery是可以的。但如果你使用这种方法来添加类,而不是修改基础HTML,则这不是正确的方法。 - jezzipin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接