Javascript 如果没有内容,如何隐藏引导警报?

Javascript 如果没有内容,如何隐藏引导警报?,javascript,html,ruby-on-rails,twitter-bootstrap,Javascript,Html,Ruby On Rails,Twitter Bootstrap,我有一个引导警报,如果里面没有文本,应该隐藏它。我能够使警报不占据整个屏幕,但剩下的是页面顶部的这一小块。我一直在尝试我在这里找到的代码(),但事情发生了 代码如下: <script type="text/javascript"> $(document).ready(function () { if (<%= notice %>.length != 0) { $("#notice span").text(<%= notice %>);

我有一个引导警报,如果里面没有文本,应该隐藏它。我能够使警报不占据整个屏幕,但剩下的是页面顶部的这一小块。我一直在尝试我在这里找到的代码(),但事情发生了

代码如下:

<script type="text/javascript">
$(document).ready(function () {
    if (<%= notice %>.length != 0) {
    $("#notice span").text(<%= notice %>);
    $("#notice").show();
}
else {
    $("#notice").hide();
}
});
</script>

<div id="notice" style="text-align: center;">
<span role="alert" class="alert alert-success">
<%= notice %>
</span>
</div>

$(文档).ready(函数(){
如果(.length!=0){
$(“#注意span”).text();
$(“#注意”).show();
}
否则{
$(“#注意”).hide();
}
});
编辑:是警报文本,#注意是div的id

Try

<script type="text/javascript">
  $(document).ready(function () {
    if ($('#notice>span').html().length>0) {
      $("#notice").show();
    } else {
      $("#notice").hide();
    }
  });
</script>

$(文档).ready(函数(){
if($('#notice>span').html().length>0){
$(“#注意”).show();
}否则{
$(“#注意”).hide();
}
});

您不需要从javascript设置值,
会将其打印到视图中。

您可以简单地执行此操作,而无需
jQuery
您不需要jQuery来执行下面的操作

<% if notice.present? %>
  <div id="notice" style="text-align: center;">
    <span role="alert" class="alert alert-success">
        <%= notice %>
    </span>
  </div>
<% end %>
现在,您的flash部分将

<% flash.each do |name, msg| %>
    <div id="notice" style="text-align: center;">
        <span role="alert" class="alert alert-<%="#{name}" %>">
        <p><%= msg if msg.is_a?(String) %></p>
    </span>
<% end %>

就这样


希望对您有所帮助。

尝试过此操作后,在我单击应该显示警报的按钮后,警报将不会显示。@ThePerson Who哪个按钮?
<% flash.each do |name, msg| %>
    <div id="notice" style="text-align: center;">
        <span role="alert" class="alert alert-<%="#{name}" %>">
        <p><%= msg if msg.is_a?(String) %></p>
    </span>
<% end %>