我有動態創建的項目和按鈕,我想通過使用jquery(我正在使用AJAX)樣式化它們來顯示用戶正在發生的事情。每個項目如下所示:單擊按鈕時的樣式元素
<li class="items">
<div class="itemheading">
<div class="controls">
<span class="votes">1</span>
<form class="actions" method="POST">
<input type="submit" class="button plus" value="+1" data-plus="123">
</form>
<form class="actions" method="POST">
<input type="submit" class="button minus" value="-1" data-minus="123">
</form>
<form class="actions" method="POST">
<input type="submit" class="button delete" value="X" data-del="123">
</form></div><span class="title">Item title</span>
</div>
<span class="infotext">Item Description</span>
</li>
當單擊按鈕時,我希望項目的樣式被更新。例如,如果單擊+1按鈕,則項目邊框應該淡入綠色,然後在幾秒鐘的時間內消失爲空,以顯示該項目已被投票。
我所想的,到目前爲止是這樣的:
$(".plus").live('click', function() {
$(this).css("background", "#fff");
這不工作,雖然。我以爲我可以使用$(this)
引用一個被點擊,因爲我使用這個按鈕已經獲得按鈕的數據 - 標記值:
var plus = $(this).data('plus');
的另一個問題是,即使它沒有工作,它會風格按鈕邊框,我需要以某種方式樣式<div class="itemheading">
。我只能說風格的.itemheading元素,但因爲我將有多個項目,我需要找到另一種方法。也許有一種方法可以引用元素的父元素,然後我可以獲得父元素的父元素?
謝謝。任何幫助真的很感激。
更新:所以人們可以看到什麼工作繼承人的代碼。
$(".plus").live('click', function() {
$(this).parents(".itemheading").css("background", "#000");
});
您的代碼是否放置在文檔準備好的回調中? – Lix 2012-07-18 12:28:26
@Lix我認爲這就是'$(function(){// code is in here}' – cohen 2012-07-18 12:31:14
是 – Lix 2012-07-18 12:32:21