[ 登录注册 ]

Web开发

Prototype面试题:Prototype是怎么扩展DOM的?

2016/05/13 10:24 [db:作者] 返回上一页

Prototype框架最大的一部分就是对DOM的扩展, Prototype为$()范围的元素添加了很多方便的方法,例如, 你可以写一个$(‘comments’).addClassName(‘active’).show()来得到ID为”comments”的元素,然后添加一个Class “active” 然后展示它(如果原本是隐藏的话), “comments”元素在原本的javascript里面并没有这些方法。

Prototype是通过Element.extend()方法来扩展DOM的

大部分DOM方法是由Element.Methods 对象来封装并且复制到Element对象的(为了方便起见),这些方法的第一个参数都是需要操作的element:

Element.hide(‘comments’);

var div_height = Element.getHeight(my_div);

Element.addClass(‘contactform’, ‘pending’);

如果想做得更好一点,你可以把要扩展的对象直接传递给Element.extend()方法,这个方法会直接复制所有的方法到element, 例如:

var my_div = document.createElement(“div”);

Element.extend(my_div);

my_div.addClassName(‘pending’).hide();

document.body.appendChild(my_div);


文章来源:http://www.bozhiyue.com/mianshiti/Webkaifa/2016/0513/97054.html
评论
发表评论