使用ID字符串作为css属性不起作用

时间:2013-07-27 04:25:35

标签: javascript jquery css

我有一堆div用于通过jquery.css()动态更改样式。 我拉动属性的方法是返回容器的div id。

在这种情况下,stylechange =“fontFamily”,因为那是主容器的ID。

str =选中选项的值。

我有console.log()和alert()来调试它,我正在返回字符串,当我手动设置它的属性和值时。

但是,使用变量作为属性或值不起作用,我很难过。

使用Javascript:

var stylechange = "";
var str = "";
$("select").change(function(){
   stylechange = $("select option:selected").parents(".styleoptions").attr('id');
   str = $("select option:selected").text();
   $(".elementselected textarea").css({stylechange: str});
})

HTML: 这是div

<div class="ui-draggable ui-resizable addeddiv elementselected absolute move" style="position: relative; display: block;">
   <div class="ui-resizable-handle ui-resizable-e" style="z-index: 90; display: block;"></div>
   <div class="ui-resizable-handle ui-resizable-s" style="z-index: 90; display: block;"></div>
   <div class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se" style="z-index: 90;"></div>
   <div class="removethis ui-resizable-handle absolute">X</div>
   <textarea type="textbox" class="addedtext"></textarea>
</div>

这是css从

获取ID的HTML
<div id="fontFamily" class="styleoptions" style="display: block; text-transform: capitalize;">
   <div class="optiontitle" style="text-transform: capitalize;">family</div>
   <div class="options" style="text-transform: capitalize;">
      <select style="text-transform: capitalize;">
         <option style="text-transform: capitalize;">palatino</option>
         <option style="text-transform: capitalize;">arial</option>
         <option style="text-transform: capitalize;">verdana</option>
         <option style="text-transform: capitalize;">times new roman</option>
      </select>
   </div>
</div>

1 个答案:

答案 0 :(得分:2)

您的代码尝试设置一个名为stylechange的css属性,这不是您需要的,您想要设置分配给变量的{css}属性<{1}}

所以你需要使用

stylechange

或者

$(".elementselected textarea").css(stylechange, str);