code:$('#id').css({attr:100})如何用一个变更来替代具体的如'width\height\left\top'等属性,如在一个插件中,根据传入的参数,如传入'width’或'height'时,则直接将其代入到'code'里的'attr'中,直接运行???

解决方案 »

  1.   

    没看懂,能不能用更具体的代码来说明你的意图?
    是不是这样?$('#id').css({"width":"100px","height":"100px"}).attr("id","newid");
      

  2.   


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="gb2312" />
    <title></title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <style>

    </style>
    </head>
    <body>
    <div id="a">333</div>
    <script>
    var opts = {
    color: 'red',
    fontSize: 40
    };
    $('#a').css(opts);
    </script>
    </body>
    </html>
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            (function ($) {
                $.fn.bgColor = function (value) {
                    this.css("background-color", value);
                };
            })(jQuery);        function test() {
                $('#divTest').bgColor("red");
            }
        </script>
    </head>
    <body>
        <div id="divTest">
            ABC
        </div>
        <input type="button" onclick="test()" value="用插件实现直接赋值" />
    </body>
    </html>上面的代码可以直接运行的了。楼主应该是这个意思吧。 
    我只是做个示范, 其它的你自己按这个demo去做就好了。
      

  4.   

    情况是这样的:
    我现在有一个横向滚动的幻灯片插件,现在需要改成纵向滚动,这两个方向会同时用到,所以我想在插件中加入一个表示方向的参数:"options.dir"值为"X"或"Y",在代码具体应用有一处产生了问题:
    插件原代码是:$('#id').css({'width':9999}),
    修改为:$('#id').css({(options.dir=='X'?'width':'height'):9999}) 浏览器报错
      

  5.   


    用JSON传值在jQuery中当然可以,请看下6F,我做了下补充
      

  6.   

    这样你在之前就应该写判断,然后再去执行相应的操作。。
    比如
    if(options.dir=='X'){$('#id').css({'width':9999})}
      

  7.   

    var attr = "width";
    $('#id').css(attr, 100);

    // 或者
    var attr = "width",
    property = {};
    property[attr] = 100;
    $('#id').css(property);
      

  8.   

    谢谢各位的解答,给出的例子也都是正确的!但我的情况是这样的:
    $('#id').css({'width':9999,'position':'relative','overflow':'hidden'}),
    这段代码是在一插件中,我现在想要根据传入的参数动态改变'width'这个属性('width'或'height')
      

  9.   

    var w = 123;$('#id').css({'width':width,'position':'relative','overflow':'hidden'}),
    就可以了
      

  10.   

    修改为:$('#id').css({(options.dir=='X'?'width':'height'):9999}) 浏览器报错
    ->(9999前面的冒号改逗号)
        $('#id').css({(options.dir=='X'?'width':'height'),9999}) 
      

  11.   


    {(options.dir=='X'?'width':'height'),9999}这是一个传给CSS参数的JSON,是一个对象,(options.dir=='X'?'width':'height')返回一个'width'或'height'作为属性名,9999作为属性值,所以中间应该用冒号吧