使用Javascript动态更改输入文本中的CSS

时间:2010-11-07 17:04:53

标签: javascript html css dom

我正在使用JS,HTML和CSS做一个漂亮的产品比较表的在线“创建者”。现在,使用此工具生成的示例表如下所示:

alt text

这个表格的风格来自我HTML的样式部分,它看起来像这样:

<style>

tr.numer1
{
 background-color: #FFFFFF;
}

tr.numer2
{
 background-color: #FFFBD0;
}

td.custTD
{
  border-bottom: 1px solid #CCCCCC;
}

span.propertyCust
{
  font-weight: bold;
  color: #444444;
}

span.productCust
{
  font-weight: bold;
  color: #444444;
}

body
{
  font: 18px Georgia, Serif;
}


</style>

现在,我想要实现的是添加用户在线实时更改我上面的CSS样式的能力。我没有有限数量的属性和有限数量的样式类,我不想放置颜色选择字段等。没有!因为用户将是网页设计师,我会给他们机会在桌面“制造商”的文本框中编辑CSS。

基本上,我需要实现的是将网站样式动态更改为文本框中的内容。在伪代码中,我会以这种方式编写它:

document.style = document.getElementById('styleTextarea').innerHTML

那么:它有可能吗?如何实现呢?如何将整个网站CSS样式更新为textarea中输入的样式?

1 个答案:

答案 0 :(得分:3)

您的代码示例几乎是正确的。把这样的东西放在html中:

<style type="text/css" id="table-style"></style>
<textarea id="table-style-textarea"></textarea>

然后在javascript:

document.getElementById('table-style').innerHTML = document.getElementById('table-style-textarea').value;