应对 JavaScript 高级程序设计(特别是对浏览器差异的复杂处理)的 JavaScript 框架主要为以下三种:
- jQuery —— 使用 CSS 选择器来访问和操作网页上的 HTML 元素(DOM 对象)。
- Prototype —— 通过提供类和继承,用于执行常见 web 任务的简单 API和操作 HTML DOM。
- MooTools —— 提供了可使常见的 JavaScript 编程更为简单的 API。含有一些轻量级的效果和动画函数。
JavaScript - 测试 jQuery
主要的 jQuery 函数是 $() 函数。如果您向该函数传递 DOM 对象,它会返回 jQuery 对象,带有向其添加的 jQuery 功能。
jQuery 允许您通过 CSS 选择器来选取元素。
- 在页面显示 "Hello jQuery"
- 在页面显示 "Hello jQuery" 并添加字体属性
JavaScript 方式实现:
<script>
function myFunction() {
// 显示内容
document.getElementById("h01").innerHTML= "Hello jQuery";
// 修改属性值
document.getElementById("h01").style.color = "red";
}
onload=myFunction;
</script>
<h1 id="h01"></h1>
jQuery 方式实现:
- HTML DOM 文档对象被传递到 jQuery :$(document)。
- 当向 jQuery 传递 DOM 对象时,jQuery 会返回以 HTML DOM 对象包装的 jQuery 对象。
- jQuery 函数会返回新的 jQuery 对象,其中的 ready() 是一个方法。
- 把 myFunction 作为变量传递给 jQuery 的 ready 方法。
// 使用 <script> 标签引用某个库,其 src 属性设置为库的 URL
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
// HTML DOM 文档对象
function myFunction() {
// 包装的 jQuery 对象
$("#h01").html("Hello jQuery");
// jQuery 允许链接(链式语法)。
// $("#h01").attr("style","color:red").html("Hello jQuery");
}
// jQuery
$(document).ready(myFunction);
</script>
<h1 id="h01"></h1>
JavaScript - 测试 Prototype
与 jQuery 类似,有 $() 函数。$() 函数接受 HTML DOM 元素的 id 值(或 DOM 元素),并会向 DOM 对象添加新的功能。
与 jQuery 不同,Prototype 没有用以取代 window.onload() 的 ready() 方法。相反,Prototype 会向浏览器及 HTML DOM 添加扩展。
- 在页面显示 “Hello Prototype!”
- 在页面显示 "Hello Prototype!" 并添加字体属性
JavaScript 方式实现:
<script>
function myFunction() {
// 显示内容
document.getElementById("h01").innerHTML= "Hello Prototype!";
// 修改属性值
document.getElementById("h01").style.color = "red";
}
onload=myFunction;
</script>
<h1 id="h01"></h1>
Prototype 方式实现:
Event.observe() 的三个参数:
- HTML DOM 或 BOM(浏览器对象模型)对象
- 处理的事件
- 调用的函数
// 使用 <script> 标签引用某个库,其 src 属性设置为库的 URL
<script src="http://apps.bdimg.com/libs/prototype/1.7.1.0/prototype.js"></script>
<script>
// HTML DOM 文档对象
function myFunction() {
// 包装的 Prototype 对象
$("h01").insert("Hello Prototype!");
// Prototype 允许链接(链式语法)。
// $("h01").writeAttribute("style","color:red").insert("Hello Prototype!");
}
// Prototype
Event.observe(window,"load",myFunction);
</script>
<h1 id="h01"></h1>