2010-08-14 337 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