this.header = function(){

//footer
var headerStyle = {
'border-top':'1px solid #EBEBEB',
'text-align':'right',
padding:'3px',
height:'28px',

}

var $header = setElement('div', headerStyle, {id:'layer_footer'});
var $instance = $header;

return $instance;
}this.getInstance = function (){


var containerStyle = {
width:'400px',
height:'200px',
border:'1px solid #5D99A3',
margin:'20px',
display:'',
}

var $container = setElement( 'div', containerStyle, {id:'layer'} );
//这里出错了
var header = new header();
$header = header.getInstance();

var content = new content();
$content = content.getInstance();

var footer = new footer();
$footer = footer.getInstance();

$container.append($header);
$container.append($content);
$container.append($footer);

return $instance;
}在新建header对象的时候就出错了。
找不到header构造函数,原因是header不在getInstance 里面。
除了把header移到getInstance里面来之外还有没有其他的方法呢。我不想把header移到getInstance里面来,header属于外面的一个类。但是

解决方案 »

  1.   

    首先var headerStyle = {
                        'border-top':'1px solid #EBEBEB',
                        'text-align':'right',
                        padding:'3px',
                        height:'28px'//这里不能有,号
                        
                    }其次函数不能随便用this调用用到的时候可以传值
    要是控件的话应该$.fn.header = function(obj){//obj为传过来的this
                    
                    //footer
                    var headerStyle = {
                        'border-top':'1px solid #EBEBEB',
                        'text-align':'right',
                        padding:'3px',
                        height:'28px',
                        
                    }
                    
                    var $header = setElement('div', headerStyle, {id:'layer_footer'});
                    var $instance = $header;
                    
                    return $instance;
                }
      

  2.   

    先谢谢楼上,不过数组最后一行带‘,’有什么问题?
    我在ie8和ff3.6下面没有错误提示信息,没测试过低版本,是否ie6下面 会出现错误提示?
      

  3.   

    基础知识啊基础知识啊
    {}不是数组 - -!
    []才是数组
    {}是对象object
      

  4.   

    后面如果带,号,在firefox上是没有关系的。但在iE上是不行的。
      

  5.   

     这样试试
      this.header = function(){
                    //footer
                    var headerStyle = {
                        'border-top':'1px solid #EBEBEB',
                        'text-align':'right',
                        'padding'   :'3px',
                        'height'    :'28px'
                    }
                    
                    var $header = setElement('div', headerStyle, {id:'layer_footer'});
                    var $instance = $header;
                    return $instance;
                }this.getInstance = function (o){//将上面的构造函数this.header传进来
                    var containerStyle = {
                        width  :'400px',
                        height :'200px',
                        border :'1px solid #5D99A3',
                        margin :'20px',
                        display:''
                    }                
                    var $container = setElement( 'div', containerStyle, {id:'layer'} );
                    //new  一个传进来的参数
                    var header = new o();
                    $header = header.getInstance();
                    
                    var content = new content();
                    $content = content.getInstance();
                    
                    var footer = new footer();
                    $footer = footer.getInstance();
                    
                    $container.append($header);
                    $container.append($content);
                    $container.append($footer);
                    
                    return $instance;
                }