【问题标题】:Jquery css() on dynamically added elements动态添加元素上的 Jquery css()
【发布时间】:2014-10-19 14:50:06
【问题描述】:

我有一个表格,其中包含一些通常不显示的行(使用带有 CSS display:"none"; 的类)。在按下按钮时,我想显示这些行。 问题是整个表格是动态添加到页面中的,所以代码不起作用。

HTML

<tr class="HiddenRowClass"> ....  </tr>

JS

function ShowRowsClick() {
$(".HiddenRowClass").css("display","");
}

我已经阅读了关于使用 .on() 将事件绑定到动态生成的元素,但我找不到任何关于非事件绑定的内容。 (如果这是正确的术语)

【问题讨论】:

  • 移除css属性显示改为$(".cssClass").removeCss("display")
  • @Mihir 你确定吗?
  • @doniyor 谢谢。请忽略我之前的评论,方法 removeCss 不存在。 show 方法可以。
  • @Mihir 我认为$("tr").removeClass("HiddenRowClass"); 会起作用。
  • @scartag 可能不会,这将从要隐藏的行中删除标识类

标签: jquery css


【解决方案1】:

你必须让显示器显示出来。

$(".HiddenRowClass").css("display","block");

或者,由于您使用 "display:none" 隐藏它,您可以使用 jquery 函数来显示它。

$(".HiddenRowClass").show();

【讨论】:

  • 谢谢。这很有效(.show()) 。我经常使用 display:none 然后 display:"" 来隐藏和取消隐藏东西。我不确定为什么它在这种情况下不起作用?
  • @DavidG display:"" 不起作用,在这种情况下,您的课程中有display:none,因此您需要display:block 来覆盖HiddenRowClass 中的那个
【解决方案2】:

如何动态添加行?以及如何将按钮单击事件绑定到 ShowRowsClick () 函数?只要在 DOM 中的行之后按下按钮,并且您有一个事件将按钮单击绑定到您的 ShowRowsClick() 函数,就应该没问题。如果在单击按钮后添加行,那么您将不得不做一些更复杂的事情,例如让您的按钮单击函数设置一个状态变量并让您的行添加函数检查该变量以查看是否应该显示行。

【讨论】:

    猜你喜欢
    • 2011-07-05
    • 2014-10-17
    • 1970-01-01
    • 2011-11-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    相关资源
    最近更新 更多