论坛首页 Web前端技术论坛

请教关于Element对象写法的问题

浏览 2415 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-25  
 var nDiv = document.createElement('div');
nDiv.setStyle({
            position : 'absolute',
            width: '200px',
            height:'200px',
            background : 'black',
            top : document.body.scrollHeight/2-100+'px',
            left : document.body.scrollWidth/2-100+'px'   
        })
document.body.appendChild(nDiv);

以上这段代码在ff下运行正常,在ie下报找不到nDiv 告诉 nDiv不存在,要这么写才行
var nDiv = document.createElement('div');
nDiv.id ='nDiv';
document.body.appendChild(nDiv);
$('nDiv').setStyle({
            position : 'absolute',
            width: '200px',
            height:'200px',
            background : 'black',
            top : document.body.scrollHeight/2-100+'px',
            left : document.body.scrollWidth/2-100+'px'   
        })

但是用Element(nDiv,{...})这种写法两者都可以,Element.setStyle()这种机制我理解,但是prototype他是怎样实现,obj.setStyle()这种机制的呢?
   发表时间:2007-06-25  
ff可以访问HTMLElement的原型,所以可以这样

HTMLElement.prototype.setStyle = function () {
...
}

ie其实也可用htc来附加这样的自定义方法。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics