javascript - 动态 <style> 标签未将样式应用于类

标签 javascript jquery html css

这似乎很简单 - 但它却非常令人沮丧。

我为一个学校元素构建了一个聊天应用程序。它是 .NET signalR 和 jquery 意大利面条。这不是生产就绪代码。然而,我的非技术家庭偶尔喜欢在白天登录它聊天

最近流量增加了很多,我想用颜色来区分用户名。因此,在将用户添加到 chatHub 时,我运行如下操作:

var color = randomColor({ luminosity: 'dark', count: 1 });
var className = "span.user-name.user" + id.split('-')[0];
$("<style type='text/css'>." + className + "{color:" + color + ";}</style>").appendTo("head");

如您所见,我使用了极端的特异性。我可以看到实际的 <style>出现在我的 chrome 检查器中。

style shown in <code><head></code> in inspector

不幸的是,这个类似乎并没有影响实际的元素。这是检查器中的元素。

actual element

我不完全确定问题是什么。我尝试添加以下内容:

  1. 添加到 <body>而不是 <head> .
  2. 特异性越来越强。
  3. 在 inspector.stylesheet 中更改它(在此处有效)。
  4. 确保我没有以数字开始任何类(class)(CSS 2?)
  5. 通过 CSS 验证器运行。

我不知道还能尝试什么。如果某些 CSS 高手能告诉我我在这里做错了什么,我将不胜感激。

附言男孩,这很尴尬。多谢你们!

最佳答案

构建 CSS 字符串的方法是在 span(它是一个标签,而不是一个类)之前插入一个 .。删除它,一切都应该工作:

var color = randomColor({ luminosity: 'dark', count: 1 });
var className = "span.user-name.user" + id.split('-')[0];
$("<style type='text/css'>" + className + "{color:" + color + ";}</style>").appendTo("head");

关于javascript - 动态 &lt;style&gt; 标签未将样式应用于类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774588/

相关文章:

javascript - 如何为 display flex childs 设置相同的高度?

angularjs - 如何在 angular1.5 comps 中修复页脚

javascript - jQuery.serialize 不返回任何内容(输入元素有一个名称......)

javascript - 漂亮的格式 JSON

javascript - 将属性添加到通过 props 传递到另一个组件的 react 组件

jquery - 在 jquery-datatables-editable 插件中添加行

jquery - Fancybox 覆盖不扩展到高度

javascript - 在jquery post之后替换div

javascript - 保存较少数据时鼠标光标变化太快

javascript:如何使一个元素相对于我悬停在其上的元素可见?