prototype Element学习笔记(篇二)


Posted in Javascript onOctober 26, 2008

所有函数的第一个参数都为:element,表示要操作的元素的引用,这是为了方面在Element.extend时,把这些方法加入到DOM对象中去,用的是methodize函数。调用的时候不需要输入第一个参数了,如:

var b=$('div1').visible();

另外,几乎所有函数都会返回自身,注意,扩展后的元素的类型为:HTMLElement,之所以这么做,有一个好处,就是方便连写代码,如:

$('div1').update().insert('这是新插入的内容');

这样写代码有一个好处,可读性强,且易于书写。

下面是函数介绍:

visible(element):Boolean

元素是否可见(依靠element.style.display)

toggle(element):HTMLElement

元素可见则使之不可见,不可见则使之可见。再返回元素本身的引用。(依靠element.style.display)

hide(element):HTMLElement

隐藏元素。(依靠element.style.display)

show(element):HTMLElement

显示元素。(依靠element.style.display)

remove(element):HTMLElement

删除元素自身(删除后返回被删除的元素)。

update(element, content):HTMLElement

类似于element.innerHTML,加入了处理脚本等等功能。它先插入内容,然后再执行content中的脚本。

replace(element, content):HTMLElement

替换当前元素。并返回被替换的元素。

insert(element, insertions):HTMLElement

在element的指定位置插入内容,insertions的值如下:
string/number/element,例如:'this is the string to insert!!',默认被插到元素的bottom位置。
{top:xxxxx,bottom:yyyy,before:zzzzz,after:aaaa},例如:{top:'this the content you will insert!'}。

返回值为element。

wrap(element, wrapper, attributes):HTMLElement

在element外面再罩一个元素。通常用于做遮罩。

wrapper:elementId、element、tagName、attrbutes(当创建的罩为div时,可省略标签设置)

attributes:一个JSON对象,用于设置元素的样式,如:{color:"red",backgroundImage:"url(header.gif)"}

$('win1').wrap('div1',{color:“#666”});

$('win1').wrap('span',{font-size:12});

$('win1').wrap({color:“#666”});

返回创建的遮罩的引用。

inspect(element):string

生成一个表示当前元素的字符串,例如:<div id='xxx' class='xxx'>,它只得两个属性,不等于toHTML()。

recursivelyCollect(element, property):HTMLElement[]

不好描述,例如:$('div1').recursivelyCollect('firstchild'),它返回div1中的所有是长子身份的元素。

ancestors(element):HTMLElement[]

返回此元素的所有嫡系祖先,例如:如果有元素div1,它的父亲是div2,div2的,父亲是div3,就是这样一直调用下去。

descendants(element):HTMLElement[]

返回所有子孙元素结点的数组。等于element.select('*')。

firstDescendant(element):HTMLElement

返回第一个儿子。所有儿子(不包括孙子、曾孙……哦)。

immediateDescendants(element):HTMLElement[]

返回所有儿子(不包括孙子、曾孙……哦)。

previousSiblings(element):HTMLElement[]

返回所有兄长。

nextSiblings(element):HTMLElement[]

返回所有弟弟。

siblings(element):HTMLElement[]

返回所有兄弟,且按“从大到小”(在html中的出现顺序)的顺序排序。

match(element, selector):Boolean

元素是否满足指定的选择符

up(element, expression, index):HTMLElement

element.ancestors()中,满足表达式expression的数组中,第index个元素,示例如下:

$('div1').up('div',1)返回直接祖先中,标签为div的,且序号为1的元素的引用。

down(element, expression, index):HTMLElement

返回子孙中,第index个满足选择符expression的元素。

previous(element, expression, index):HTMLElement

previous(element, expression, index):HTMLElement

这两个没悬念,返回前一个、后一个,前n个、后n个。

select(element,selector1,selector2,……):HTMLElement[]

返回子孙中,满足选择符的元素的数组,多个选择符之间是并集关系。

adjacent(element,selector):HTMLElement[]

返回所有满足选择符的兄弟,不包括自己。

identify(element):string

有id的返回已有id,没有的则取一个id。并返回。

readAttribute(element, name):string

读属性

writeAttribute(element, name, value):HTMLElement

写属性


=============================================

上面的函数用于查询、杂务,下面的函数一般用于获取、设置各种坐标,在网页中,一个元素的常用坐标有好几种,不外如下:

一、相对于文档左上角的

二、相对于视区左上角的

三、相对于某一个元素的

纵观各个框架中的代码,求取坐标不外是这三种。下面略述一二。

getHeight(element)、getWidth(element),相当于求clientHeight、clientWidth。

classNames(element):Element.ClassNames

hasClassName(element, className):Boolean

addClassName(element, className):HTMLElement

removeClassName(element, className):HTMLElement

toggleClassName(element, className):HTMLElement

cleanWhitespace(element):HTMLElement,删除空白文本节点

empty(element):Boolean,元素是否内容为空白

descendantOf(element, ancestor):Boolean,判断是元素是否为某一元素的子孙,ancestor为id或元素引用。

scrollTo(element):HTMLElement,滚动到此元素,并返回此元素的引用。

getStyle(element, style):类型不定,返回元素的某一样式的值。

getOpacity(element):Float,返回透明度。

setStyle(element, styles):HTMLElement,设置元素的样式,styles是一个JSON对象。

setOpacity(element, value):HTMLElement,设置元素的透明度。

getDimensions(element):{width:x,height:y}。返回clientWidth,clientHeight。

makePositioned(element):HTMLElement,将position设为relative。不把位置设成当前位置的。

undoPositioned(element):HTMLElement,将元素的position设为默认值。

makeClipping(element):HTMLElement,设置元素的溢出。

undoClipping(element):HTMLElement,清除溢出。

cumulativeOffset(element):Element._returnOffset,获取相对整个页面的offset。

positionedOffset(element):Element._returnOffset,获取相对于第一个position不是static的元素offset。如果都是static,则是相对于页面。

absolutize(element):HTMLElement,把position设成absolute,并把位置设置成当前位置。

relativize(element):HTMLElement,把position设成ralative,并把位置设成当前位置。

cumulativeScrollOffset(element):Element._returnOffset,相对于顶层容器的scrollOffset的总和,不一定是文档哦,因为页面中有iframe就不是了。

getOffsetParent(element):HTMLElement,研究过css的就好说,不用多言了。

viewportOffset(element):Element._returnOffset,求相对于视区左上角的偏移量。

clonePosition(element, source):HTMLElement,从source克隆位置属性到自身。

Javascript 相关文章推荐
JavaScript 对象的属性和方法4种不同的类型
Mar 19 Javascript
open 动态修改img的onclick事件示例代码
Nov 13 Javascript
判断文档离浏览器顶部的距离的方法
Jan 08 Javascript
jquery高级编程的最佳实践详解
Mar 23 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
js 颜色选择插件
Jan 23 Javascript
js实现移动端导航点击自动滑动效果
Jul 18 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
Jun 19 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
Jan 31 Javascript
vue中的自定义分页插件组件的示例
Aug 18 Javascript
Vue监听滚动实现锚点定位(双向)示例
Nov 13 Javascript
JS document对象简单用法完整示例
Jan 14 Javascript
prototype Element学习笔记(篇一)
Oct 26 #Javascript
JS对URL字符串进行编码/解码分析
Oct 25 #Javascript
在html页面中包含共享页面的方法
Oct 24 #Javascript
IE浏览器兼容Firefox的JS脚本的代码
Oct 23 #Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 #Javascript
checkbox 多选框 联动实现代码
Oct 22 #Javascript
javascript网页关闭时提醒效果脚本
Oct 22 #Javascript
You might like
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP 地址栏信息的获取代码
2009/01/07 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
2016/05/21 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
laravel自定义分页效果
2017/07/23 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
python 用户交互输入input的4种用法详解
2019/09/24 Python
Python API自动化框架总结
2019/11/12 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
详解KMP算法以及python如何实现
2020/09/18 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
个人自我剖析材料
2014/02/07 职场文书
市场开发计划书
2014/05/07 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python