在样式标记上插入变量

时间:2012-07-18 19:50:23

标签: javascript html

我需要根据下拉列表选择更改文本的颜色。

<select id="room2">
    <option>#0808cf</option>
    <option>#0E9E26</option>
</select>
<input type="text" id="txtColor">
   John: <p style="color:#0808cf" > test </p>

jquery的

$('#colors').change(function(){
   $('#txtColor').val($("#colors").val());
   var fontColor =  $('#txtColor').val();

});

我不希望更改在css中,因为select id不会是常量。我希望它插入到p style标签中。而且我需要将文本作为约翰:测试在一行中。我尝试了这个,但没有工作。谢谢。

<p style="color:"+fontColor+" > test </p>

演示:http://jsfiddle.net/kX3EN/

3 个答案:

答案 0 :(得分:5)

尝试 - http://jsfiddle.net/kX3EN/7/

$('#colors').change(function(){
    $('p').css( 'color', $(this).val() );
});

答案 1 :(得分:2)

如果您希望“John:test”在同一行,您需要:

  • p(块级别)更改为span(内联)
  • 之类的内容
  • 强制p充当css(display: inline)的内联。

使用jQuery,您需要使用css()函数来更改元素的样式属性。像这样:

$('selector for element you want to change').css('color', $("#your-select-element").val());

你可能会把它放在select的事件处理程序中:

$("select#colors").change(function() {
    $("span.changemycolor").css('color', $(this).val());
    // 'this', in this case, is your select element
});

答案 2 :(得分:0)

通过在我的html代码过滤器之后放置标记来实现它。因此,每当我附加消息时,将消息存储为变量,并在将var发送到websocket发送方法时读取为JS。谢谢