这是视图调用的部分:
<li>
<span class="content"><%= link_to "#{key.name} (#{key.description})", key %> (<%= key.id %>)</span>
<span class="timestamp">
Created <%= time_ago_in_words(key.created_at) %> ago.
</span>
<span class="content">
<% if key.chords.count > 0 %>
<%= link_to "show chords", '#', class: "showremovechords" %>
<span> // </span>
<% end %>
<%= link_to "remove", key, method: :delete %>
</span>
<div class="chordsholder">
<ol class="chords">
<% if key.chords.count > 0 %>
<ol class="microposts">
<%= render key.chords %>
</ol>
<% end %>
</ol>
</div>
</li>
这是 jQuery(使用 CoffeeScript)在单击“显示和弦”按钮时切换是否显示 div class='chordsholder'。
jQuery ->
toggleChords = (e) ->
e.preventDefault()
if $(@).text('show chords')
$(@).text('hide chords')
else
$(@).text('show chords')
$(@).closest('li').find('.chordsholder').slideToggle()
$('.showremovechords').click toggleChords
div 开始隐藏,链接以文本“显示和弦”开头
div 可见性的切换有效,第一次单击时文本变为“隐藏和弦”,但语句的 ELSE 部分不起作用,因此当 div 为“显示和弦”时,文本不会变回隐。任何想法为什么会发生这种情况?谢谢