0

为什么 this[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'));
4

1 回答 1

0

您正在读取的clientWidth属性是一个计算值,即宽度和填充的总和。因此,如果您想GetWidth返回与设置相同的值SetWidth,则必须将两个值传递给SetWidth,然后更改元素的style.widthstyle.padding属性。

于 2013-08-20T19:18:16.970 回答