摘要: 跨浏览器开发市场上的浏览器种类多的不计其数,它们的解释引擎各不相同,期待所有浏览器都一致的支持JavaScript,CSS,DOM,那要等到不知什么时候,然而开发者不能干等着那天。历史上已经有不少方法来解决浏览器兼容问题了,主要分为两种:1.userAgent字符串检测,2.对象检测;当然,也不能考虑所有的浏览器,我们需要按照客户需求来,如果可以确信浏览网站的用户都使用或大部分使用IE浏览器,那么你大可放心的使用IE专有的那些丰富的扩展,当然,一旦用户开始转向另一个浏览,那么痛苦的日子便开始了。下面是市场上的主流浏览器列表:Internet ExplorerMozilla FirefoxGoo 阅读全文
posted @ 2013-12-01 23:58 水之原 阅读(1281) 评论(0) 推荐(0) 编辑
摘要: Cookie 基础知识我们已经知道,在 document 对象中有一个 cookie 属性。但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie。”—— MSIE 帮助。一般来说,Cookies 是 CGI 或类似,比 HTML 高级的文件、程序等创建的,但是 JavaScript 也提供了对 Cookies 的很全面的访问权利。在继续之前,我们先要学一学 Cookie 的基本知识。每个 Cookie 都是这样的:cookie名=cookie值;cookie本身仅仅是一个字符串,是一组名值对;多组名值对用分号加空格分隔!&q 阅读全文
posted @ 2013-12-01 23:49 水之原 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 元素尺寸获取元素尺寸可以使用下面几种方式元素的style属性width,height,但这些属性往往返回空值,因为它们只能返回使用行内style属性定义在元素上的样式元素的currentStyle属性width,height(IE),getComputedStyle(obj,null)返回对象的width,height,这样可以获取元素的实际CSS定义的宽度和高度,但当元素没有使用CSS定义外观时,虽然元素仍然有大小(只要其中有字符或其它元素),这些属性的返回值是不确定的,如IE返回auto,而火狐则返回一个看似理想的值。对象的clientWidth和clientHeight属性给出元素的可视 阅读全文
posted @ 2013-12-01 23:44 水之原 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 修改元素外观方式修改元素外观主要有下面3种方法:修改ID,修改className,修改元素的style属性修改ID?会造成多么混乱的结果可想而知!修改className确实是非常好的方法,我们甚至可以利用CSS层叠,通过修改body的className来修改整个页面的风格!前提是我们必须写特定的CSS! //CSS代码 body.redStyle { border:2px solid red; } body.redStyle * { color:red; } body.blueStyle { border:2px s... 阅读全文
posted @ 2013-12-01 23:40 水之原 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 事件(上)JavaScript事件列表事件解说一般事件onclick鼠标点击时触发此事件ondblclick鼠标双击时触发此事件onmousedown按下鼠标时触发此事件onmouseup鼠标按下后松开鼠标时触发此事件onmouseover当鼠标移动到某对象范围的上方时触发此事件onmousemove鼠标移动时触发此事件onmouseout当鼠标离开某对象范围时触发此事件onkeypress当键盘上的某个键被按下并且释放时触发此事件.onkeydown当键盘上某个按键被按下时触发此事件onkeyup当键盘上某个按键被按放开时触发此事件页面相关事件onabort图片在下载时被用户中断onbefo 阅读全文
posted @ 2013-12-01 23:23 水之原 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 表格的层次结构 表格标题 表头1 表头2 表头3 脚注 数据 数据 数据 数据 数据 数据 上面是一个创建表格所用到的所有标签,但一些标签是可写可不写的,事实上一般的表格只需写上tr与... 阅读全文
posted @ 2013-12-01 23:09 水之原 阅读(912) 评论(0) 推荐(0) 编辑
摘要: 大多数Web页面与用户之间的交互都发生在表单中,表单中有许多交互式HTML元素如:文本域,按钮,复选框,下拉列表等。从文档对象层次图中可以看到,表单是包含在文档中的,所以要访问表单,仍然需要通过document对象来访问Form对象表单就是指的form标签及其里面的内容,要获取一个表单对象,可以给某个form标签加个id属性,然后使用document.getElementById方法获得。也可以使用document.getElementsByTagName("form")来获取所有表单的集合,然后通过下标来访问。还可以给form标签加个name属性,然后可以使用docume 阅读全文
posted @ 2013-12-01 23:05 水之原 阅读(523) 评论(0) 推荐(1) 编辑
摘要: 节点类型DOM定义了Node的接口以及许多种节点类型来表示节点的多个方面!Document——最顶层的节点,所有的其他节点都是附属于它的。DocumentType——DTD引用(使用语法)的对象表现形式,例如。它不能包含子节点。DocumentFragment——可以像Document一样来保存其他节点。Element——表示起始标签和结束标签之间的内容,例如或者。这是唯一可以同时包含特性和子节点的节点类型。Attr——代表一对特性名和特性值。这个节点类型不能包含子节点。Text——代表XML文档中的在起始标签和结束标签之间,或者CData Section内包含的普通文本。这个节点类型不能包含 阅读全文
posted @ 2013-12-01 22:59 水之原 阅读(534) 评论(0) 推荐(0) 编辑
摘要: DOM(Document Object Model)——文档对象模型什么是DOM?Document Object Model (DOM)是HTML和XML文档的编程接口。它提供了上述文档的一种结构化表示,同时也定义了一种通过程序来改变文档结构,风格,以及内容的方式。DOM用一组结构化的节点以及对象来表示文档。本质上就是将网页和脚本语言以及编程语言连接起来。一个网页是一个文档。这个文档可以被显示在浏览器窗口中,也可以以html源码的形式显示。这两中情况中,文档都是同一个。DOM提供了另一种方式来表示,存储,操作这个文档。DOM是网页的一种完全的面向对象的表示方法,可以通过脚本语言(比如说Java 阅读全文
posted @ 2013-12-01 22:55 水之原 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 什么是BOM?BOM是Browser Object Model的缩写,简称浏览器对象模型BOM提供了独立于内容而与浏览器窗口进行交互的对象由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是windowBOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C(WHATWG,WebHypertextApplicationTechnologyWorkingGroup——网页超文本应用程序技术工作组目前正在努力促进BOM的标准化)BOM最初是Netscape浏览器标准的一部分基本的BOM体系结构 阅读全文
posted @ 2013-12-01 22:46 水之原 阅读(9364) 评论(0) 推荐(5) 编辑
摘要: 函数函数是一组可以随时随地运行的语句。函数是 ECMAScript 的核心。创建函数 function fnOne() {//具有名称的函数,函数名必须符合变量名命名规范 //可以没有符何语句 } var fnTwo = function () {//匿名函数 }; function () {//创建匿名函数而不立即创建其引用,那么之后就没办法调用此函数 } (function fnThree() { })();//创建函数并立即执行一次 (function () {})();//创建匿名函数并立即执行一次匿名函数与命名函数的... 阅读全文
posted @ 2013-12-01 21:51 水之原 阅读(682) 评论(0) 推荐(1) 编辑
摘要: 正则表达式可以:测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字正则表达式语法一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。下表是元字符及其在正则表达式上下文中的行为的一个完 阅读全文
posted @ 2013-12-01 21:36 水之原 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 一元运算符一元运算符只有一个参数,即要操作的对象或值。它们是 ECMAScript 中最简单的运算符。delete 运算符删除对以前定义的对象属性或方法的引用。例如: var obj = new Object(); obj.name = "David"; alert(obj.name); //输出 "David" delete obj.name; alert(obj.name); //输出 "undefined"delete 运算符不能删除开发者未定义的属性和方法。例如,下面的代码是没什么效果的: delete obj.toStrin 阅读全文
posted @ 2013-12-01 21:25 水之原 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象。注意:从传统意义上来说,ECMAScript 并不真正具有类。事实上,除了说明不存在类,在 ECMA-262 中根本没有出现“类”这个词。ECMAScript 定义了“对象定义”,逻辑上等价于其他程序设计语言中的类Object对象是由 new 运算符加上要实例化的对象的名字创建的。例如,下面的代码创建 Object 对象的实例: var obj = new Object();这种语法与 Java 语言的相似,不过当有不止一个参数时,ECMAScript 要求使用括号。如果没有参数,如以下代码所示,括号可以省略: ... 阅读全文
posted @ 2013-12-01 21:14 水之原 阅读(478) 评论(1) 推荐(0) 编辑
摘要: 原始值和引用值在ECMAScript中,变量可以存放两种类型的值,即原始值和引用值。原始值(primitive value)是存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值(reference value)是存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。为变量赋值时,ECMAScript的解释程序必须判断该值是原始类型的,还是引用类型的。要实现这一点,解释程序则需尝试判断该值是否为ECMAScript的原始类型之一,即Undefined、Null、Boolean和String型。由于这些原始类型 阅读全文
posted @ 2013-12-01 21:06 水之原 阅读(620) 评论(1) 推荐(0) 编辑
摘要: ECMAScript的基础概念熟悉Java、C和Perl这些语言的开发者会发现ECMAScript的语法很容易掌握,因为它借用了这些语言的语法。Java和ECMAScript有一些关键语法特性相同,也有一些完全不同。ECMAScript的基础概念如下:区分大小写。与Java一样,变量、函数名、运算符以及其他一切东西都是区分大小写的,也就是说,变量test不同于变量Test。变量是弱类型的。与Java和C不同,ECMAScript中的变量无特定的类型,定义变量时只用var运算符,可以将它初始化为任意的值。这样可以随时改变变量所存数据的类型(尽管应该避免这样做,但作为Web开发,这确实可以提高效率 阅读全文
posted @ 2013-12-01 14:06 水之原 阅读(6548) 评论(1) 推荐(0) 编辑
摘要: Script标签script标签用于在HTML页面中嵌入一些可执的脚本 script标签有三个特殊的属性(当然,像id,class这样的属性它也是有的,HTML页面中几乎每个元素都可以有class,id属性) //对于JScript只有IE能够识别,其它浏览器会忽略这个标签其里面的内容 //而对于VBScript,只有Windows上的IE能够识别,运行 //然而language属性后来在XHTML中被type属性替代了 在Web浏览器中,我们只会使用JavaScript,type属性设置为text/javascript.事实上,由于JavaScript十... 阅读全文
posted @ 2013-12-01 13:53 水之原 阅读(2468) 评论(0) 推荐(0) 编辑
摘要: 数组数组,实际上就是将一大堆相似的数据有秩序的放在格子箱中,十分像药房里的那些柜子.数据1数据2数据3数据4数据5数据6用代码创建数组 var arr = new Array();//Array和Date一样,也是一个内置对象,需要使用new运算符创建 arr[0]="数据1";//向数组中添加一个元素,数组中的元素是有编号的,并且要注意的是,编号从0开始 //上面一行代码就向数组中的第一个箱添加了一个元素 arr[1]="数据2";//方括号用以指定下标1 arr[2]="数据3"; arr[3]="数据4"; 阅读全文
posted @ 2013-12-01 13:43 水之原 阅读(1603) 评论(0) 推荐(0) 编辑
摘要: 函数函数(又称为方法)用于对一大段为了达到某种目的的代码进行归类,以使代码更具有条理: //一段计算三角形面积的代码 var wide=window.prompt("请输入三角形的底边长度!",""); var high=window.prompt("请输入三角形的高!",""); var area=wide*high/2; if (isNaN(area)) {//判断用户是否输入的是数字 alert("三角形的面积为"+area); } else { alert("您的输入有误!&q 阅读全文
posted @ 2013-12-01 12:23 水之原 阅读(684) 评论(0) 推荐(1) 编辑
摘要: 分支结构单一选择结构(if)二路选择结构(if/else)内联三元运算符 ?:多路选择结构(switch) var condition = true; if (condition) { alert("我将出现!"); } condition = false; if (condition) { alert("我不会出现!"); } else { alert("我会出现!"); } condition ="some string"; if (condition) { alert("可以直接... 阅读全文
posted @ 2013-12-01 12:10 水之原 阅读(1419) 评论(0) 推荐(0) 编辑