以下の create.js.erb コードを表示してください。これは、作成時に新しい投票をフェードインします。値が0未満の場合、総投票数の色を変更したいと思います。
以下のコードは、.style.color を .css("color", "orange"); に交換すると機能します。ただし、変更を永続的にしたいと思います。
<% if @vote.new_record? %>
alert("Failed to create vote: <%= j @vote.errors.full_messages.join(', ').html_safe %>");
<% else %>
var votes = $("<h1><%= @vote.votable.votes_count %></h1>");
<% if @vote.votable.votes_count < 0 %>
$('#<%= "#{votes_count}_#{id}" %>').style.color = "#FF8800";
<% end %>
$('#<%= "#{votes_count}_#{id}" %>').html(votes.fadeIn(1000));
<% end %>
.style.color を使用すると、fadeIn コードが呼び出されず、投票が表示されません。
このインスタンスで style.color が機能しないのはなぜですか?
編集
anspnm からのコメントのおかげで、問題のある行を次のように変更しました。
document.getElementById('<%= "#{votes_count}_#{id}" %>').className += " orange-arrows h1";
これは機能し、投票テキストの色を変更しますが、この色はまだ保持されておらず、ブラウザーが更新されると消えます。