jquary设置一个元素的CSS, 想把变量contentType的值(width)当成 Css的属性名传递给jquary,但是传递给jquary的是contentType这个变量的名字(contentType)。请教各位大哥该如何修改这个代码呢???

解决方案 »

  1.   

    var contentType = "width";
        $(function () {
            var styleStr = "{'backgroundColor':'red', '" + contentType + "': '500px'}";
            $("#tt").css(eval('('+styleStr+')'));
            //两种方式 二选一啊
            $("#tt").css(contentType, "500px");
        });
      

  2.   

    还有一种方法:css = {};
    css.position = "relative";
    css[contentType] = '100px';
    theLayer.css(css);
    其实,jQuery的css方法在接受一个参数的时候,无非是接受一个object,先构造这个object再传递过去也一样。object的属性访问可以用[]方括号,哈哈,于是css[contentType] = '100px';就等价于css.width = '100px';能不用eval做好不要用eval。
      

  3.   


    function b(){
    var contentType = "width";
    $("#c").css(contentType, 500);
    }
    即可