jquary css方法问题
jquary设置一个元素的CSS, 想把变量contentType的值(width)当成 Css的属性名传递给jquary,但是传递给jquary的是contentType这个变量的名字(contentType)。
请教各位大哥该如何修改这个代码呢???
------解决方案--------------------
var contentType = "width";
$(function () {
var styleStr = "{'backgroundColor':'red', '" + contentType + "': '500px'}";
$("#tt").css(eval('('+styleStr+')'));
//两种方式 二选一啊
$("#tt").css(contentType, "500px");
});
------解决方案--------------------还有一种方法:
css = {};
css.position = "relative";
css[contentType] = '100px';
theLayer.css(css);
其实,jQuery的css方法在接受一个参数的时候,无非是接受一个object,先构造这个object再传递过去也一样。object的属性访问可以用[]方括号,哈哈,于是css[contentType] = '100px';就等价于css.width = '100px';
能不用eval做好不要用eval。