rails errorExplanation与我的jquery相冲突?

时间:2011-12-17 23:40:38

标签: jquery ruby-on-rails

我有一个类似所有rails表单的rails表单,如果有任何失败,则会出现标准rails错误:

<div id="errorExplanation" class="errorExplanation">
  <h2>2 errors prohibited this account from being saved</h2>
  <p>There were problems with the following fields:</p>
  <ul><li>First Name can't be blank</li>
  <li>Number is not a valid credit card number</li></ul>
</div>

但是我在页面上有一些jQuery需要在点击提交时弹出一个微调器:

 $(document).ready(function(){
  $('#add_account').click(function(){
    console.log($('#errorExplanation').length);
    $('#spinner').show();
  });
 });

但是console.log始终为0,我只需要在页面上没有#errorExplanation时显示微调器。

console.log告诉我有0但是有一个所以我猜Rails在加载后在页面上加载这个div。

任何想法如何解决此问题,并且只在页面上真的没有#spinner时显示#errorExplanation

1 个答案:

答案 0 :(得分:1)

$(document).ready(function(){
  $('#add_account').click(function(){
    if(!$('#errorExplanation').length){
        $('#spinner').show();
    }
  });
 });

修改: 使用.length来计算div的内容。如果0,则不存在。

编辑: - )