【问题标题】:Change CSS properties of non-existing elements更改不存在元素的 CSS 属性
【发布时间】:2012-10-30 20:08:27
【问题描述】:

我想更改一组尚未创建的元素的尺寸。它们将由我无权访问的 JavaScript 脚本创建。 JQuery 的 css() 函数只会将更改应用于现有项目,而我希望代码能够像在 CSS 文件中设置 CSS 属性一样工作。

谁能帮我做?

【问题讨论】:

  • 这些元素是否有一些可识别的东西,比如一个类?如果是这样,您可以直接在 CSS 中定义规则。
  • 在CSS中设置这些属性有什么问题?
  • @pimvdb 元素的 CSS 属性必须根据用户操作设置。
  • @VisioN 我要编辑的元素确实有一个类。
  • 如果在插入新元素后用户交互是基于事件的,情况就很简单了。需要提供更多关于您期望的信息

标签: javascript jquery html css


【解决方案1】:

一种选择是动态创建样式元素:

$("<style type='text/css'> .redbold{ color:#f00; font-weight:bold;} </style>").appendTo("head")
$("<div/>").addClass("redbold").appendTo("body");

取自这里:Create a CSS rule / class with jQuery at runtime

这是一个可能的 IE 替代方案(请参阅 Creating a CSS class in jQuery):

document.styleSheets[0].addRule('body', 'background: green', -1);

有关参考,请参阅addRule 的文档。

【讨论】:

  • 无法在没有样式标签的情况下将 css 规则直接插入到 head 标签中。旧的 IE 版本也不能很好地处理附加的样式标签
  • @charlietfl - 我在粘贴代码时搞砸了(SO 新手)。还为 IE 添加了一个可能的替代方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
  • 1970-01-01
  • 2020-06-22
  • 1970-01-01
  • 2018-10-07
  • 2021-06-18
相关资源
最近更新 更多