E4X教程[1] - 入门
基本语法
如果启用了 E4X,基本的 XML 元素就是有效的语法。例如:
var element = <foo/>
在开启了 E4X 的浏览器里完全有效。
变量的声明也不局限于单个元素,并且和 JavaScript 一样可以扩多行。
var element2 = <foo><bar/></foo>
此外,和一般的 XML 文档一样,你能给一个元素指定属性。
var element3 = <foo baz="1"/>
操作元素
E4X 的目标是为 JavaScript 程序员提供一个简单的方法来操作 XML 文档,而无需通过 DOM 接口。不过,很多你在 DOM 中用过的函数也能用到 E4X 中。最基本的就是 appendChild:
var element1 = <foo/> var element2 = <bar/> element1.appendChild(element2);
它会产生你期望的正确的 XML 文档:
<foo><bar/> </foo>
JavaScript 变量
当 XML 文档需要和 JavaScript 做紧密交互时,E4X 真正强大的地方才得以彰显。通过特定的语法,我们能将 JavaScript 变量的值赋给 E4X 元素。这是用大括号({})标记。
var a = 2; var b = <foo>{a}</foo>;
创建了一段 XML 文档,内容为 <foo>2</foo>。
你也可以将大括号标记用于元素的属性(名字或值)。例如:
var a = 2; var b = 'bar'; var c = <foo {b}={a}>"hi"</foo>;
创建的 XML 稍有不同:<foo bar="2">"hi"</foo>。
注意:XML 元素只接受文本作为他们的值。大括号标记真正发生的是调用变量的 toString 方法,并将返回值填到相应位置。例如:
var a = {foo: 1}; var b = <bar>{a}</bar>
实际上产生的文档是 <bar>[object Object]</bar>。
在内容中使用内联函数
虽然大括号限定执行单条语句,但通过匿名函数内联可以执行一些额外的处理:
var a = 'foo'; var b = <bar>{function () {var c = a.toUpperCase(); var d = 5 * 5; return c + d;}()}</bar>
上述代码产生:<bar>FOO25</bar>
该用法更多的讨论请参加 E4X for templating 。
序列化
E4X 最强大的工具就是简单地调用 .toXMLString() 就可以将整个 XML 文档(或其中部分)序列化到字符串中。
var element1 = <foo/>; var element2 = <bar/>; element1.apppendChild(element2); element1.toXMLString();
输出为:
<foo><bar/> </foo>
本例使用 toString() 也能达到相同效果,不过在一个只有文本内容的元素上调用 toString() 将之产生文本内容(例如,<foo>abc</foo>.toString(); 会只产生 'abc')。
为方便其他朋友提问和指正,转载是请保持文章完整性,并以超链接形式注明原始作者“redraiment ”和主站点 地址,谢谢。
联系方式
我的邮箱,欢迎来信(redraiment@gmail.com )
我的CSDN博客(梦婷轩 ):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩 ):http://hi.baidu.com/redraiment
E4X教程[1] - 入门相关推荐
- python语言入门详解-python初级教程:入门详解
python初级教程:入门详解 Crifan Li 目录 前言 .................................................................... ...
- Android Studio2.0 教程从入门到精通Windows版
系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio2.0 教程从入门到精通Windows版 - 入门篇 Android Studi ...
- grub4dos初级教程-入门篇
grub4dos初级教程-入门篇 2008年04月21日 星期一 15:37 0 为何写此初级教程? 假如你是第一次听说grub,你可能说我不需要grub.那么,你是否用过"一键ghost& ...
- 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...
(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...
- Oracle数据库基础教程:入门其实很简单
为什么80%的码农都做不了架构师?>>> Oracle数据库基础教程:入门其实很简单 Oracle数据库系统是目前最流行的客户/服务器数据库之一.本文集从初学者的角度出发,由浅 ...
- jquery validate 中文教程【入门到精通】
jquery validate 中文教程[入门到精通] jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求 ...
- python基础教程博客_Python基础教程_Python入门知识
Python基础教程频道为编程初学者提供入门前的所有基础知识,必须要掌握的一些PYTHON基础语法语句,基本的数据类型. 让大家可以更快速.更容易理解的的方式掌握Python编程所需要的基础知识,灵活 ...
- CSS的预编译——less语言基本语法教程(入门)
less语言基本语法教程(入门) 一.CSS解析 css是一门标记性语言,语法简单,对使用者的要求也比较低. 缺点:1.对于css:使用css时需要书写大量的看似没有逻辑的代码,不方便维护和扩展,不利 ...
- wxpython中文教程_wxPython中文教程 简单入门加实例
wxPython中文教程简单入门加实例 博客分类: Python 2 / Wxpython wxPythonPython编程浏览器脚本 wx.Window 是一个基类,许多构件从它继承.包括 wx.F ...
最新文章
- Android—— 定制界面风格
- Red Hat Linux 挂载外部资源
- 安装Terminator和快捷键使用
- FreeRTOS 查询任务 剩余的栈空间的 方法
- python 检查文件是否存在_Python中如何判断文件是否存在?
- mac下SecureCRT连接阿里云服务器最新教程
- hdu 3016 Man Down
- 微型计算机中celeron,微型计算机中常提及的Pentium或Celeron是指其_______
- 用户关闭浏览器页器,弹出一个提示
- 这几个5.20表白代码发给你女神,还没有女朋友直接来找我!
- 数据分析挖掘全套课程视频spss/sas/R/excel/案例实战体系教学
- IBM ServerGuide引导安装指南
- AxureRP8.1(注册码)破解汉化教程
- Android 微信高性能日志存储库Xlog的使用
- RStudio 开发环境配置
- iPhone手机Mac地址查看
- android项目学习心得(全源导航)
- 【鸿蒙】HiSpark Wifi IOT开发板资料汇总
- 算力网络发展中的若干关键技术问题分析
- nvm use不生效