我有這樣的CSS規則addClass:JQuery的類時綁定到一個ID
#panelSeparator .active {
background: #fff url(../img/vgrabber.gif) no-repeat center;
opacity: 0.7;
}
我願做這樣的事在JS:
$('#panelSeparator').addClass('active');
我應該如何改變addClass的參數爲了使其工作?
感謝,
丹
我有這樣的CSS規則addClass:JQuery的類時綁定到一個ID
#panelSeparator .active {
background: #fff url(../img/vgrabber.gif) no-repeat center;
opacity: 0.7;
}
我願做這樣的事在JS:
$('#panelSeparator').addClass('active');
我應該如何改變addClass的參數爲了使其工作?
感謝,
丹
嘗試之間#panelSeparator .active
取出空間,因此它是#panelSeparator.active
。
+1,詳細說明是因爲'#panelSeparator .active'引用了一個元素,該元素的類型爲'active',它位於DOM樹中id爲'panelSeparator'的元素之後。刪除空格使其查找具有ID和Class的元素。 – Robert 2011-06-01 15:01:09
你的CSS定義這勢必會與ID爲「panelSeperator」元素的所有子類。你應該使用jQuery.children()函數(http://api.jquery.com/children/);
$('#panelSeparator').children().addClass('active');
如果您想保留相同的CSS,那麼您需要在Javascript中執行類似$('#panelSeparator div').addClass('active');
的操作。基本上,你必須在#panelSeparator元素中選擇一個元素。
或者你可以保持相同的Javascript和只需更改CSS來#panelSeparator.active
你嘗試,
$('#panelSeparator').addClass('panelSeparator active');
我沒有看到這裏的問題。該代碼應該工作得很好。 – 2011-06-01 14:57:06
只有當CSS選擇器被鏈接時,jQuery才能正常工作,'#panelSeparator.active {}'意味着選擇一個具有** ID和類的元素,這就是jQuery正在做的事情,添加類到相同的元素 - 根據[布賴恩費舍爾的答案](http://stackoverflow.com/questions/6203218/jquery-addclass-when-the-class-is-bound-to-an-id/6203286#6203286) – clairesuzy 2011-06-01 15:04:18