動的に作成されるアイテムとボタンがあり、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');
もう1つの問題は、たとえそれが機能したとしても、ボタンの境界線のスタイルを設定し、何らかの方法でスタイルを設定する必要があること<div class="itemheading">
です. .itemheading 要素のスタイルを指定することもできますが、そのクラスのアイテムが複数あるため、別の方法を見つける必要があります。おそらく、要素の親を参照する方法があり、その親を取得できますか?
ありがとう。どんな助けでも本当に感謝しています。
更新: 人々は、コードで何が機能したかを確認できます。
$(".plus").live('click', function() {
$(this).parents(".itemheading").css("background", "#000");
});