Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将ID字符串用作css属性不会';行不通_Javascript_Jquery_Css - Fatal编程技术网

Javascript 将ID字符串用作css属性不会';行不通

Javascript 将ID字符串用作css属性不会';行不通,javascript,jquery,css,Javascript,Jquery,Css,我有一堆div,用于使用jquery.css()动态更改样式。 我提取属性的方法是返回容器的div id 在本例中,使用stylechange=“fontfamine”,因为这是主容器的ID str=选中选项的值 我有console.log()和alert()来调试它,我会得到返回的字符串,当我手动设置属性和值时,它会工作 然而,使用变量作为属性或值是行不通的,我被难倒了 Javascript: var stylechange = ""; var str = ""; $("select").ch

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

在本例中,使用stylechange=“fontfamine”,因为这是主容器的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 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>

X
这是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>

家庭
帕拉蒂诺
arial
威尔达纳
新罗马时代

您的代码试图设置一个名为
stylechange
的css属性,这不是您所需要的,您希望设置分配给变量
stylechange
的css属性

所以你需要使用

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


我们需要查看一些HTML,但从外观上看,您忘记将
var
放在
stylechange
前面,以实际将其声明为变量。而且
font-family
不是CSS属性,但是
font-family
听起来是个可怕的主意!使用CSS属性作为ID?我添加了HTML,并且事先声明了变量。
var style = {};
style[stylechange] = str;
$(".elementselected textarea").css(style );