从最新版本的Prototype里,我发现我用得最多的 $() 方法代码有了变化: function $() { 对比一下从前的版本 function $() { 区别主要是 只有一个 return 语句,程序看起来更清晰,避免了函数多出口可能带来的混乱。 最重要的,Element.extend(element) 方法的引入。 这个Element.extend 也是1.5.x 版本的改进,看看它的源码: if (!window.Element) Element.Methods 就是原来从前版本定义的 Element 对象的静态方法,这些方法都需要传递一个DOM对象id或者DOM对象作为参数,比如如上代码中的 visible 方法需要传递一个element参数。而Element.extend(element)语句将这些方法都设置给了参数对象,同时又利用 bind 方法让参数对象调用这些方法的时候,巧妙的传递自身作为参数。 也许没说明白,还是用代码说明吧!从Prototype1.5.x版本开始,你可以更方便的如下面代码一样操作DOM对象了: var ele = $("myelement"); 这样的改变有什么益处呢? 我觉得一来是更面向对象了,二来就是便于将来IDE里的代码提示
var results = [], element;
for (var i = 0; i < arguments.length; i++) {
element = arguments[i];
if (typeof element == ’string’)
element = document.getElementById(element);
results.push(Element.extend(element));
}
return results.length < 2 ? results[0] : results;
}
var elements = new Array(); for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == ’string’)
element = document.getElementById(element); if (arguments.length == 1)
return element; elements.push(element);
} return elements;
}
var Element = new Object();Element.extend = function(element) {
if (!element) return; if (!element._extended && element.tagName && element != window) {
var methods = Element.Methods;
for (property in methods) {
var value = methods[property];
if (typeof value == ’function’)
element[property] = value.bind(null, element);
}
} element._extended = true;
return element;
}Element.Methods = {
visible: function(element) {
return $(element).style.display != ’none’;
},
//other method toggle/show/hide/remove/getHeight...... etc.
}
ele.hide(); //隐藏DOM对象对比从前的版本var ele = $("myelement");
Element.hide(ele); //隐藏DOM对象
相关推荐
基于Plecs的LLC谐振变换器闭环设计:从PI参数整定到动态响应优化
本文详细介绍了在Plecs仿真环境中,如何为半桥LLC谐振变换器设计并优化闭环控制系统。从开环模型搭建与特性分析入手,重点阐述了基于频域法的PI控制器参数整定流程,并通过负载阶跃、输入电压突变等测试优化动态响应。文章还分享了从仿真模型过渡到实际硬件时的关键注意事项,帮助工程师实现稳定、高效的电源设计。
prototype如何扩展DOM
2019独角兽企业重金招聘Python工程师标准>>> ...
MIC(Maximal Information Coefficient)最大互信息系数
MIC(Maximal Information Coefficient)最大互信息系数是一种用于衡量两个变量之间相关性的统计量。它扩展了传统的互信息(MI)和条件互信息(CMI)的概念,具有更广泛的应用范围。MIC能够捕获包括功能性和非功能性的广泛的关联,具有普遍性和公平性。普遍性意味着在足够的样本量下,MIC能够捕捉到广泛的相关关系,而不仅仅局限于特定的功能类型;公平性则意味着MIC对不同类型的包含同等噪声的关系给出了相似的分数。需要注意的是,虽然MIC具有很多优点,但它也有一些局限性。
Prototype是怎样扩展DOM的
Prototype框架最大的部分是他对DOM的扩展。Prototype给通过函数$()返回的元素增加了不少方便的方法。比如,你可以写$('comments').addClassName('active').show()来得到一个ID是ID 'comments'的元素,增加一个类名给这个元素,然后显示它(如果他原来是隐藏的)。这个'comments'元素在原来的javascript里是没有的这些方法的,那现在它是怎样实现的呢?这个文档展示了一些Prototype里面用到的聪明的办法。: q3 u) [3 F*
别再死磕RD算法了!用MATLAB手把手复现SAR后向投影(BP)成像(附完整代码与避坑点)
本文详细介绍了如何使用MATLAB实现合成孔径雷达(SAR)后向投影(BP)成像算法,突破传统RD算法在大斜视和复杂轨迹场景中的局限。通过完整的代码示例和避坑指南,帮助读者掌握BP算法的核心原理、内存优化策略和并行计算技巧,提升SAR成像精度与效率。
全志 camera: 4路AHD摄像头转MIPI
TP2815 驱动模块主要实现将 4 路的 AHD/TVI/CVBS Camera 的数据转换为 MIPI 数据,从而实现在 T527 端来对数据进行处理和送显。
prototype.js的系列文章——$()函数
关于prototype.js的说明和下载:http://blog.csdn.net/fuwaer/archive/2007/10/04/1811081.aspx使用说明$()函数的功能是获取元素对象,功能上和document.getElementById()一样,可以将$()理解为对于document.getElementById()函数的简化,经常使用javascript编程的人都知道,
21、使用 FastHenry 进行片上电感器的模拟与参数预测
本文介绍了使用 FastHenry 对片上电感器进行模拟和参数预测的方法。讨论了 FastHenry 的适用场景、线圈几何形状的选择与离散化方法,以及如何考虑模拟中的寄生效应。同时对比了 FastHenry 和 Magnet 在不同基板电阻率下的模拟精度,并提出了优化电感器设计的策略,为高效准确地预测电感参数提供了技术指导。
prototype $() 函数
$(id) → Element$(id...) → [Element…] id (String | Element) – DOM节点或引用节点的ID字符串. prototype如果提供一个字符串,返回文档中的元素匹配的ID,否则返回传入的元素。 注意到在任意数量的参数。如果一个参数返回一个元素,否则返回一个数组元素。 由该函数返回的所有元素都是元素的实例方法“扩
5、模型预测控制与分布式MPC控制结构解析
本文深入解析了模型预测控制(MPC)中的双模式预测控制及其稳定性理论,并探讨了分布式MPC的不同控制结构。内容涵盖MPC的基本公式化、性能指标、优化问题以及相关算法步骤,同时比较了集中式MPC、单层分布式MPC和分层分布式MPC的优缺点和适用场景。最后通过流程图和表格形式总结了双模式MPC的算法步骤和控制结构选择思路,并提供了操作建议,以帮助在实际工业系统中更好地应用MPC技术。
C# 动态壁纸实战:7步带你从零开始制作动态壁纸
动态壁纸是指在计算机桌面上播放视频、动画或交互式内容的一种技术。与传统的静态壁纸相比,动态壁纸更加生动有趣,可以大大提升桌面的观赏性和互动性。通过本文的详细讲解和代码示例,相信你已经学会了如何使用C#实现动态壁纸。动态壁纸不仅能够提升桌面的美观度,还能展示你的编程技能。希望这篇教程对你有所帮助,期待你在C#编程中取得更大的成就!🌟✨如果你有任何问题或建议,欢迎在评论区留言交流!希望这篇教程对你有所帮助,期待你在C#编程中取得更大的成就!😊✨😊✨。
Prototype框架是怎样扩展DOM的
Prototype框架最大的部分就是对DOM的扩展。Prototype框架里的$()函数返回一个网页DOM元素,框架给这个元素添加了很多方便的方法。举个例子:你可以写这样的代码 $('comments').addClassName('active').show() ,用来取得ID是“comments”的元素,给它添加一个CSS的ClassName并且显示它(假设之前是隐藏的)。本来在JavaScr...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
php dom扩展 linux,Linux_Prototype框架是怎样扩展DOM的,Prototype框架最大的部分就是对D - phpStudy...
Prototype框架是怎样扩展DOM的Prototype框架最大的部分就是对DOM的扩展。Prototype框架里的$()函数返回一个网页DOM元素,框架给这个元素添加了很多方便的方法。举个例子:你可以写这样的代码 $('comments').addClassName('active').show() ,用来取得ID是“comments”的元素,给它添加一个CSS的ClassName并且显示它(...
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
jQuery工厂函数$()
jQuery中最常用的工厂函数就是$(),它本质上就是一个DOM对象,但是它所使用的方法都封装在了jQuery上,所以我们不能通过$()使用JavaScript的方法,同样DOM对象也不能使用jQuery上的方法 以jQuery的1.11.3版本举例,$作为一个方法出现的地方是在源码的最后: window.jQuery = window.$ = jQuery; 其中的jQuery是前面定义的一个函数,在源码第70行中出现 jQuery = function( selector, context ) {
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
prototype使用$()方法
$()方法是在DOM中使用过于频繁的document.getElementById()方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。 比起DOM中的方法,这个更胜一筹。你可以传入多个id作为参数然后$()返回一个带有所有要求的元素的一个Array对象。下面的例子会向你描述这些。 [code="java"]HTML> Test Page ...
prototype1.6.03 库 对源码的一些理解(Dom扩展)
<br />看了一天prototype 源码,其实根本没想看的,才刚碰了1天啊,可是有些地方就是想知道他怎么实现的,<br />又或者有些结果不是自己想象的那样,忍不住还是拿firebug追踪了一下,虽然看的一头雾水,好歹有点收获,这种行为就是浪费时间啊。。。。时间过的好快!一会儿一天就过去了。记录一下,说的很乱,因为还不是非常理解。<br />且看一点理解一点,理解一点记录一点,最后再去整理吧,不知要等到何时呀~<br /><br />1 页面加载时,.<script type="text/javascr
JavaScript 测试 Prototype
在这个例子中,我们先使用 $(“h01”) 选中了 id 为 “h01” 的元素,然后通过链式语法,先调用 writeAttribute 方法设置了元素的样式为 “color:red” ,也就是把文字颜色变成红色,接着又调用 insert 方法在元素里插入了文本 “Hello Prototype!在函数里,我们使用 $(“h01”) 选中了 id 为 “h01” 的元素,然后调用 insert 方法,在这个元素里插入了文本 “Hello Prototype!这行代码呢,它的作用是监听窗口的加载事件。
JS 测试 Prototype
JS 测试 Prototype 测试 JavaScript 框架库 - Prototype 引用 Prototype 如需测试 JavaScript 库,您需要在网页中引用它。 为了引用某个库,请使用<script> 标签,其 src 属性设置为库的 URL: <!DOCTYPE html> <html> <head> <scri...
[转]Prototype 学习笔记
Prototype 学习笔记来源:http://blog.chinaunix.net/u/24912/showart.php?id=199954 最近在《程序员》杂志2006年11期中看到一篇文章,标题为《Prototype的开发与应用实践》,感觉很不错,在这里我理解了一下这篇文章的要点,希望能和各位同仁共享。 Prototype是由Sam Stephenson开发的一个Javasc
JavaScript - 测试 Prototype
测试 JavaScript 框架库 - Prototype。
vue prototype 扩展方法
在vue的原型上扩展自己的方法,然后可以全局使用。自己常用的方法有两种 混入也是可以全局使用的,但是不能再.js文件中使用,混入请查看混入的使用** 方式一 1.路径:utils/getTime.js // 倒计时 时间格式化输出,如11天03小时25分钟19秒 每1s都会调用一次 function dateformat(micro_second) { // 总秒数 如果传入的是毫秒需要 m...
JavaScript强化教程——Prototype
本文为H5EDU机构官方HTML5培训教程,主要介绍:JavaScript强化教程—— Prototype 引用 Prototype 如需测试 JavaScript 库,您需要在网页中引用它。 为了引用某个库,请使用 <script> 标签,其 src 属性设置为库的 URL: 引用 Prototype <!DOCTYPE html> &l...
技术演进中的开发沉思-230 Ajax:Prototype.js 重构原生 DOM
Prototype.js对DOM操作的革新主要体现在两个方面:一是通过$()、$$()和Element.extend()等方法为原生DOM元素添加便捷操作,实现"获取即扩展";二是提供up()、down()等精准导航方法,将繁琐的DOM遍历简化为链式调用。这种"增强而非替换"的设计理念,既保留了原生DOM特性,又通过体系化封装大幅提升了开发效率,为后续jQuery等框架奠定了基础。其核心价值在于用更少的代码实现更复杂的DOM操作,即使在现代前端框架时代,这种优雅封装的
prototype框架中dom对象方法
prototype是一个非常著名的javascript框架,在很多大型网站都使用到,在prototype中包含有名的$方法、document.getElementsByClassName方法,以及Element对象、Insertion对象以下部分一个一个的详细介绍: $(element):getElementById的封装,element可以是一个元素的id或元素本身,也可以是一个数组,这
Array.prototype.slice.call()方法深度剖析
开门见山:slice()方法可从已有的数组中返回选定的元素。也就是截取数组的一部份 arrayObject.slice(start,end) call: 语法:call(thisObj, arg1, arg2, …) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 Array.prototype.slice.call(arguments,1);这句话的意思就是说把调用方法的参数截取出来...
624



被折叠的 条评论
为什么被折叠?



