日期:2014-05-16  浏览次数:20411 次

jQuery属性为变量
code:$('#id').css({attr:100})

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

------解决方案--------------------
HTML code

<!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>

------解决方案--------------------
JScript code
<!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>

------解决方案--------------------
探讨

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

------解决方案--------------------
JScript code
        var attr = "width";
        $('#id').css(attr, 100);
        
        // 或者
        var attr = "width",    
            property = {};
        property[attr] = 100;
        $('#id').css(property);