使用javascript编辑类(不是元素的内联样式)

时间:2017-07-24 18:58:49

标签: javascript css styles

我不知道这是可能的,但无论如何我想要你的意见。 可以说我有这样的风格:

<style>
  .something{
    height : 100px;
  }
</style>

然后我的HTML看起来像这样:

<ul>
  <li class="something">1</li>
  <li class="something">2</li>
  <li class="something">3</li>
</ul>

现在我要更改值&#34; height&#34;在班级&#34; .something&#34;中,没有设置<li>元素的新高度。如果我在元素上设置样式然后添加更多<li>元素,它们将具有类的原始高度&#34; .something&#34;

我想要做的是让用户添加<li>元素并选择所有元素的高度。 我知道我可以使用javascript设置它们,只记得在添加它们时设置新的<li>元素,但如果我能以某种方式改变它会很方便:

<style>
  .something{
    height : 100px;
  }
</style>

到例如。

<style>
  .something{
    height : 85px;
  }
</style>

使用javascript

1 个答案:

答案 0 :(得分:1)

最好在样式元素上放置一个标识(属性,标识,名称),这样就可以定位特定样式(DOM)元素(当有很多元素时会有帮助),然后替换内部html 例如:

<style id="targetStyle">
  .something{
    height : 100px;
  }
</style>

然后在你的javascript中

var styleDom = document.getElementById('targetStyle');
styleDom.innerHTML = styleDom.innerHTML.replace(/height.*px;/,'height: 85px;');

根据您的使用情况正确构建正则表达式,它只是一个粗略的示例,用于描述您如何实现此目的,而不是如何深入替换字符串。