jQuery 隐藏/显示类不会为将来添加的元素更改 css

标签 jquery css show-hide

如何使用 jQuery 更改 css,使其对 future 的元素也生效?我有一个问题,我使用 $().show() 来切换某些元素的显示,但随后我附加了具有相同类的新元素,它们仍然隐藏。

<style type="text/css">
  .visibleState { display: none; }
</style>
<script>
  $('.visibleState').show();
  $('#appendHere').html('<div id="second" class="visibleState">* Second is NOT? visible</div>');
</script>

这可能有人问过,但我找不到。我尝试以不同的方式使用 live(),但这似乎不起作用。执行此操作的正确方法是什么?

示例:http://jsfiddle.net/amorris/wykhv/

最佳答案

这不是 live 的工作方式。 $('.visibleState').show(); 将找到所有(当前存在的)具有 visibleState 类的元素,并显示它们。它不会改变 visibleState 样式本身的 CSS 规则。

您可以通过点击 document.styleSheets 手动访问这些规则。

关于jQuery 隐藏/显示类不会为将来添加的元素更改 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13012746/

相关文章:

html - 内容被父 div 截断

css - 根据 header 信息将 CSS 类分配给 <td>

JQuery 隐藏和显示选项卡内容

jquery - 如何使用 jQuery 计算动态添加的表行数?

jquery - 如何在内部节点数未知的多重递归结构中选择最后一层 li?

jquery - 如何定位每两个列表的列表项而不是偶数或奇数

css - 可以使类为 "btn btn-default"(Bootstrap 3.3.7) 的标签中的文本与背景匹配吗?

jquery - 滑出 div 在完全显示之前不显示上边距

jquery - 无法让 jQuery 隐藏工作

jquery - Sortable & droppable, droppable 不会更新,当 DOM 更新时?