我自己的'jQuery'

时间:2013-08-20 19:13:50

标签: javascript frameworks

为什么这[0] [0] .style.width =“”?而我的框架无法改变价值。如何使函数SetWidth工作?函数SetWidth应该更改类中CSS属性的值。

var Framework = function( nameOfClass ) {
    return new Framework.foo.init( nameOfClass );
}

Framework.foo = {
    init: function( nameOfClass ) {
        if (typeof nameOfClass === 'string') {
            nameOfClass = Sizzle(nameOfClass, document);
            this[0] = nameOfClass;
            return this;
        } else {
            return null;
        }
    },

    GetWidth: function() {
        return this[0][0].style.width;
    },

    SetWidth: function( nameOfClass, value ) {
        // ???
    }
}

Framework.foo.init.prototype = Framework.foo;

window.Framework = window.$$ = Framework;

//console.log(Framework('.mainBlock-fixsize'));

1 个答案:

答案 0 :(得分:0)

您正在阅读的clientWidth属性是计算值,即宽度和填充的总和。因此,如果您希望GetWidth返回您使用SetWidth设置的相同值,则必须将两个值传递给SetWidth,然后更改元素的style.width和{{ 1}}属性。