用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 1 部分: 构建 Twenty Questions 基础结构
2010-03-09 00:00:00 来源:WEB开发网这里有一个可以打开和关闭的 div(最初是关闭 的),其中有一个用来插入文本的 span。为了插入文本,需要能够选择一个特定的 XML 元素。
过滤节点
通过 E4X,可以用过滤器选择一个或多个节点,见清单 5。
清单 5. 使用过滤器
...
knowledgeBase = new XML(kdata);
var currentQuestion = 1;
//******************************
// BEGIN FUNCTIONS HERE
//******************************
function ask_question(){
var questionElement = knowledgeBase.questions.question.(@id == currentQuestion)
var questionDisplay = questionElement.display;
document.getElementById("displayQuestion").innerHTML = questionDisplay ;
show_form("questionFormDiv");
}
function hide_form(divName){
document.getElementById(divName).style.visibility = "hidden" ;
}
function show_form(divName){
document.getElementById(divName).style.visibility = "visible" ;
}
在装载 HTML 页面时,它调用 answer_question() 函数,这会创建第一个问题。第一步是创建一个变量 questionElement,它保存代表第一个问题的 XML。(因为需要知道当前的问题,所以这个变量应该是全局变量。尽管这不是理想的编程实践,但是这并不是一个生产应用程序。)
请注意 ask_question() 开头的语法。它很像 XPath 谓词,而且工作方式也是一样的。在这个示例中,选择知识库,移动到根元素的 questions 子元素,然后找到 questions 元素的所有 question 子元素。然后,过滤掉所有与过滤器不相符的 question 元素 — 换句话说,只留下您需要的问题。
编缉推荐阅读以下文章
- 用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 2 部分: 使 mindreader 应用程序更智能化
- ››Excel 2010:用数据透视表对数据立体化分析
- ››Excel 2010:数据分析透视图的用法
- ››Excel 2010:简洁实用的迷你图
- ››Excel 2010:快速分析数据之数据条
- ››Excel 2010:快速创建丰富的数据图表
- ››Excel 2010:动态洞察数据的切片器
- ››Excel 2010:使用数据透视表对数据进行立体化分析...
- ››Excel 2010:将数据分析结果分页显示
- ››Excel 2010:数据分析透视图
- ››Excel 2010:快速分析数据之图标集
- ››Excel 2010:快速标注数据表中的前3名数据
- ››Excel 2010:便捷的打印工作表选项
更多精彩
赞助商链接