我有一堆 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>
最佳答案
您的代码尝试设置一个名为stylechange
的css属性,这不是您需要的,您想要设置分配给变量stylechange
的css属性
所以你需要使用
$(".elementselected textarea").css(stylechange, str);
或者
var style = {};
style[stylechange] = str;
$(".elementselected textarea").css(style );
关于javascript - 使用 ID 字符串作为 css 属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894237/