2010-08-14 108 views
25

我必须在(li)元素上设置类名。 该脚本查找列表中的所有(a)个元素,并创建一个单击事件。JQuery将类添加到父元素

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

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

的每父(a)元素是一个(LI)元件

但是,当此行被执行 jQuery的(本).parent()addClass( 'yourClass')没有反应。;

其他一切正常工作。

我在这里做错了什么?


好的,但它仍然无法正常工作。它不会添加任何类jQuery(this).addClass('yourClass');应该向(a)元素添加一个类,但它不?

+0

张贴的答案* *应该工作。要了解他们为什么不工作,我们需要查看您使用的HTML。和其他相关的jQuery/JavaScript。你可以发布[JS小提琴演示](http://jsfiddle.net/)重现您的问题? – 2012-01-22 17:09:43

回答

38

指定可选选择的目标你想要什么:

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

或者:

jQuery(this).parents('li').addClass('yourClass'); 
10
$(this.parentNode).addClass('newClass');
+5

链接已损坏。 – WEFX 2012-07-24 20:55:50

+1

以某种方式,这个评论是正确的和不正确的。这取决于你的系统。如果你需要动态添加一个类,那么jQuery的使用是好的。如果您使用此方法添加类而不是修改基本html,那么它不是正确的方法。 – jezzipin 2013-04-26 16:22:03