将元素内部文本用作其他元素上的CSS值

时间:2018-07-26 00:54:28

标签: javascript jquery html

我正在尝试将元素的第一格内的文本用作其他元素上的CSS颜色值。到目前为止,这是我想出的代码:

<style>
  h1.page-title {
    color: red !important;
  }    
</style>

<div id="field">
  <div style="font-size:0;">#666!important</div>
  <div style="font-size:0;">second div</div>
</div>

<h1 class="page-title">hello</h1>

<script>
$(function() {
  var x = $("#field div:first").text();
  $("h1.page-title").css("color", x);
});
</script>

到目前为止,JavaScript / jQuery代码似乎不适用于我,但我不知道为什么。有什么办法可以做到这一点?请记住,以任何方式修改HTML代码都不理想。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您不能将“!important”传递给JQuery的CSS(或者至少不是那样)。删除它,它会起作用。

您可以:

a。将其更改为类似$("h1.page-title").css('cssText', 'color:' + x);(“ cssText”将添加您作为字符串传递的内容。)–或查看下面链接的“如何在jQuery中应用'!important'的其他一些答案。

b。尽可能不要使用!important。确实没有理由应该具有 inline 重要,除非具有重要意义的CSS完全不受您的控制。


Using !important in jQuery's css() function

How to apply !important using .css()?