【问题标题】:Using jquery element in haml condition在haml条件下使用jquery元素
【发布时间】:2012-01-21 22:11:41
【问题描述】:

我已经在这个小细节上纠结了几个小时了,所以请... 如果另一个元素为空,我试图淡出一个元素。 我在一个“.js.haml”文件中。

我试过了

- if($("#task-list-open").is(':empty')) 
  $("#open-task-container").fadeOut("slow");

第一行中的“$”似乎是意外的并引发了编译错误。

“#open-task-container”中有“#task-list-open”, 如果“列表”为空,我想隐藏整个“容器”。

html 是这样的(我已经简化了):

<div id="open-task-container">
  <table class="ui-widget-header ui-corner-all" />
  <div id="task-list-open">
    <div id="task_1" class="task" />
    <div id="task_4" class="task" />
  </div>
</div>

【问题讨论】:

  • 试试这个:var lst = $("#task-list-open"); if (lst.is(':empty')) $("#open-task-container").fadeOut("slow");
  • 感谢您的回答,由于某种原因,':empty' 不起作用,可能是我的 ruby​​ 版本('3.0.10')。我使用了 Baszz 的 '.length' insted。

标签: jquery haml conditional-statements


【解决方案1】:

你可以试试这个:

var isEmpty = ($("#task-list-open div").length <= 0);

【讨论】:

  • 谢谢,它成功了。我只是不明白什么时候应该使用'-if',什么时候只使用'if',在写haml时。我最初的尝试没有奏效,因为“-if”不接受任何变量。
  • 您应该始终使用-if,如果没有前导-,则只会在纯文本中呈现为“if”。
  • 你能理解为什么'-if'不能识别在它上面一行中定义的变量,为什么它不允许'$'符号吗?
猜你喜欢
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多