我想設置一個元素內容,以防它是空的。
的html.erb
代碼如下:工作jQwwery代碼不能在條件內工作
<div class="comments-section">
<% if micropost.comments.any? %>
<ol id="comments_micropost-<%= micropost.id %>">
<% micropost.comments.each do |comment| %>
<%= render comment %>
<% end %>
</ol>
<% end %>
</div>
元素我想設置內容爲<div class="comments-section">
。當微博尚未發表評論時,其內容爲空。
我處理在create.js.erb
的創建與JavaScript註釋行動:我寫了兩行代碼,這取決於micropost.comments
是否是零或者不是零:
案例一:微柱還沒有評論(micropost.comments.any?
是假的) :
$('#micropost-<%= @micropost.id %>').find('.comments-section').html("<%= escape_javascript(render partial: 'comments/first_comment') %>");
案例2:微柱已經評論(micropost.comments.any?
爲true):
var comments = $('ol#comments_micropost-<%= @micropost.id %>');
comments.append('<%= escape_javascript(render partial: @comment) %>');
兩者的代碼段工作時分開使用。然而,當結合案例2在以下條件插入一組案例1的代碼不起作用:
if (comments == null) {
$('#micropost-<%= @micropost.id %>').find('.comments-section').html("<%= escape_javascript(render partial: 'comments/comments') %>");
}
else {
comments.append('<%= escape_javascript(render partial: @comment) %>');
};
爲什麼當不執行if (comments == null)
的代碼,我不明白。我也試過用if (comments == undefined)
和if (!comments)
沒有任何改進。
而是,條件的else
部分已成功執行。
對於'comments.blank?'或'comments =='''也沒有改變。是'comments'來自'var comments':我如何表達等於0的長度? – Asarluhi
@Asarluhi如果長度大於0,比可用。如果長度爲0,則不可用。 – Vishal
即使'if(comments.length === null)'不起作用。我不知道爲什麼,上述解決方案之一應該在這一點上起作用。 – Asarluhi