随笔分类 -  Javascript

摘要:I’ve been doing a lot of work, lately, with JavaScript inheritance – namely for mywork-in-progress JavaScript book– and in doing so have examined a number of different JavaScript classical-inheritance-simulating techniques. Out of all the ones that I’ve looked at I think my favorites were the implem 阅读全文
posted @ 2013-12-31 21:58 水之原 阅读(1042) 评论(0) 推荐(0) 编辑
摘要:XSL 与 XSLTXSL 指扩展样式表语言(EXtensible Stylesheet Language)。它主要被用来对XML文档进行格式化,与CSS不同,XSL不仅仅是样式表语言XSL主要包括三个部分:XSLT 一种用于转换 XML 文档的语言。 它可以将一个XML文件转换成另一种格式的XML文件或XHTML文件.XPath 一种用于在 XML 文档中导航,定位元素的语言。XSL-FO , 可扩展样式表语言格式化对象(Extensible Stylesheet Language Formatting Objects) ,用于格式化供输出的 XML 数据。XSL-FO 目前通常被称为 XS 阅读全文
posted @ 2013-12-04 22:37 水之原 阅读(503) 评论(0) 推荐(0) 编辑
摘要:XPath 简介XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。因此,对 XPath 的理解是很多高级 XML 应用的基础。 其实对些我们并不陌生,最与XPath相似的便是CSS的选择器.在CSS中使用CSS选择符选择元素来应用样式,而在XSLT中则使用XPath,XPath与CSS选择器相比如强大的许多!下面是CSS选择符与XPath选择符一些对照: //CSS选择符 body p //选择... 阅读全文
posted @ 2013-12-04 22:31 水之原 阅读(2057) 评论(0) 推荐(0) 编辑
摘要:打开XML首先,直接从浏览器中打开XML文件,浏览器会对其进行格式良好性检查,如果不符合XML语法规范则显示出错,如果格式良好,再检查是否包含样式表(CSS或XSL),如果包含样式表,则用样式表格式化XML文档然后显示,如果没有,则显示经过格式化的XML源码(不同浏览器显示方式不一样).注意,浏览器只对XML进行格式良好性检查,而不对其进行有效性检查!如何在XML文档中引入样式表?示例: 如果是使用XSL,只需将上面的type属性值改成text/xsl即可!XMLHttpRequest对象的responseXML属性XMLHttpRequest对象的responseXML属性用来... 阅读全文
posted @ 2013-12-04 22:25 水之原 阅读(422) 评论(0) 推荐(0) 编辑
摘要:XML简介XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。XML 被设计用来传输和存储数据。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。XML特点标记需要自己去创建!一个最大的特殊处(与HTML不同处),它可以创建标签,包括使用中文标签语法更严格!标签必需成对嵌套,并且属性必须有属性值,属性值也必须包含在引号中XML仅仅用来存储数据,不包含与数据显示相关的样式信息(这部 阅读全文
posted @ 2013-12-04 22:19 水之原 阅读(502) 评论(1) 推荐(1) 编辑
摘要:创建XMLHttpRequest对象与之前众多DOM操作一样,创建XHR对象也具有兼容性问题:IE6及之前的版本使用ActiveXObject,IE7之后及其它浏览器使用XMLHttpRequest不但IE6及其之前的版本将XHR作为一个ActiveXObject运行,而且还存在众多版本:一开始是Microsoft.XMLHTTP 之后变成Msxml2.XMLHTTP及更新版的Msxml3.XMLHTTP function XHR() { var xhr; try {xhr = new XMLHttpRequest();} catch(e) {... 阅读全文
posted @ 2013-12-04 22:12 水之原 阅读(6021) 评论(0) 推荐(0) 编辑
摘要:Ajax是什么?首先,Ajax是什么?一个很酷的新兴词汇!仅仅是某种早就有了的技术的一种新说法而已! Ajax是指一种创建交互式网页应用的网页开发技术。要谈到网页应用程序,则必须从WEB的历史来讲:1.开始的Internet,仅仅是科学家们用来交换研究论文,及一些大学在上面发布一些课程信息的工具,那个时候网页与一幅户外广告没多大区别(相反户外广告才能起来广告的作用).那个时候,只有少部分的公司具有公司网站,而它们的公司网站仅仅是在首页上放置一些联系信息或一些静态的文档!2.当Windows出现后(尽管Windows仅仅是给早就有了的操作系统加个外套而已,但这确实上一大进步),及个人电脑的流行, 阅读全文
posted @ 2013-12-04 22:08 水之原 阅读(615) 评论(0) 推荐(0) 编辑
摘要:跨浏览器开发市场上的浏览器种类多的不计其数,它们的解释引擎各不相同,期待所有浏览器都一致的支持JavaScript,CSS,DOM,那要等到不知什么时候,然而开发者不能干等着那天。历史上已经有不少方法来解决浏览器兼容问题了,主要分为两种:1.userAgent字符串检测,2.对象检测;当然,也不能考虑所有的浏览器,我们需要按照客户需求来,如果可以确信浏览网站的用户都使用或大部分使用IE浏览器,那么你大可放心的使用IE专有的那些丰富的扩展,当然,一旦用户开始转向另一个浏览,那么痛苦的日子便开始了。下面是市场上的主流浏览器列表:Internet ExplorerMozilla FirefoxGoo 阅读全文
posted @ 2013-12-01 23:58 水之原 阅读(1277) 评论(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 水之原 阅读(452) 评论(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 水之原 阅读(530) 评论(0) 推荐(0) 编辑
摘要:事件(上)JavaScript事件列表事件解说一般事件onclick鼠标点击时触发此事件ondblclick鼠标双击时触发此事件onmousedown按下鼠标时触发此事件onmouseup鼠标按下后松开鼠标时触发此事件onmouseover当鼠标移动到某对象范围的上方时触发此事件onmousemove鼠标移动时触发此事件onmouseout当鼠标离开某对象范围时触发此事件onkeypress当键盘上的某个键被按下并且释放时触发此事件.onkeydown当键盘上某个按键被按下时触发此事件onkeyup当键盘上某个按键被按放开时触发此事件页面相关事件onabort图片在下载时被用户中断onbefo 阅读全文
posted @ 2013-12-01 23:23 水之原 阅读(475) 评论(0) 推荐(0) 编辑
摘要:表格的层次结构 表格标题 表头1 表头2 表头3 脚注 数据 数据 数据 数据 数据 数据 上面是一个创建表格所用到的所有标签,但一些标签是可写可不写的,事实上一般的表格只需写上tr与... 阅读全文
posted @ 2013-12-01 23:09 水之原 阅读(911) 评论(0) 推荐(0) 编辑
摘要:大多数Web页面与用户之间的交互都发生在表单中,表单中有许多交互式HTML元素如:文本域,按钮,复选框,下拉列表等。从文档对象层次图中可以看到,表单是包含在文档中的,所以要访问表单,仍然需要通过document对象来访问Form对象表单就是指的form标签及其里面的内容,要获取一个表单对象,可以给某个form标签加个id属性,然后使用document.getElementById方法获得。也可以使用document.getElementsByTagName("form")来获取所有表单的集合,然后通过下标来访问。还可以给form标签加个name属性,然后可以使用docume 阅读全文
posted @ 2013-12-01 23:05 水之原 阅读(521) 评论(0) 推荐(1) 编辑
摘要:节点类型DOM定义了Node的接口以及许多种节点类型来表示节点的多个方面!Document——最顶层的节点,所有的其他节点都是附属于它的。DocumentType——DTD引用(使用语法)的对象表现形式,例如。它不能包含子节点。DocumentFragment——可以像Document一样来保存其他节点。Element——表示起始标签和结束标签之间的内容,例如或者。这是唯一可以同时包含特性和子节点的节点类型。Attr——代表一对特性名和特性值。这个节点类型不能包含子节点。Text——代表XML文档中的在起始标签和结束标签之间,或者CData Section内包含的普通文本。这个节点类型不能包含 阅读全文
posted @ 2013-12-01 22:59 水之原 阅读(531) 评论(0) 推荐(0) 编辑
摘要:DOM(Document Object Model)——文档对象模型什么是DOM?Document Object Model (DOM)是HTML和XML文档的编程接口。它提供了上述文档的一种结构化表示,同时也定义了一种通过程序来改变文档结构,风格,以及内容的方式。DOM用一组结构化的节点以及对象来表示文档。本质上就是将网页和脚本语言以及编程语言连接起来。一个网页是一个文档。这个文档可以被显示在浏览器窗口中,也可以以html源码的形式显示。这两中情况中,文档都是同一个。DOM提供了另一种方式来表示,存储,操作这个文档。DOM是网页的一种完全的面向对象的表示方法,可以通过脚本语言(比如说Java 阅读全文
posted @ 2013-12-01 22:55 水之原 阅读(689) 评论(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 水之原 阅读(9353) 评论(0) 推荐(5) 编辑
摘要:函数函数是一组可以随时随地运行的语句。函数是 ECMAScript 的核心。创建函数 function fnOne() {//具有名称的函数,函数名必须符合变量名命名规范 //可以没有符何语句 } var fnTwo = function () {//匿名函数 }; function () {//创建匿名函数而不立即创建其引用,那么之后就没办法调用此函数 } (function fnThree() { })();//创建函数并立即执行一次 (function () {})();//创建匿名函数并立即执行一次匿名函数与命名函数的... 阅读全文
posted @ 2013-12-01 21:51 水之原 阅读(679) 评论(0) 推荐(1) 编辑
摘要:正则表达式可以:测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字正则表达式语法一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。下表是元字符及其在正则表达式上下文中的行为的一个完 阅读全文
posted @ 2013-12-01 21:36 水之原 阅读(570) 评论(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) 编辑