最容易混淆的几个概念
jQuery对象不等于DOM对象
DOM是Document Object Model的缩写,中文是文档对象模型。它是HTML和XML的应用程序接口,DOM将整个页面映射为一个由层次节点组成的文件。
【例1】
<!DOCTYPE html>
<html lang="en">
<head>
<title>标准DOM示例</title>
</head>
<body>
<h1>这是一份简单的文档对象模型</h1>
<ul>
<li>D表示文档</li>
<li>O表示对象</li>
<li>M表示模型</li>
</ul>
</body>
</html>
在这棵DOM树中,
- 标签的子节点,可以通过Document对象的getElementByTagName()方法访问他们。上面所有节点和元素都是DOM对象的组成部分,getElementByTagName()是DOM模型提供的内置方法,所有这些构成了DOM对象基础。
jQuery对象通过jQuery框架包装DOM对象之后产生的一个新的对象,本质上是一个js对象,该对象包含了DOM对象集合。
jQuery框架为jQuery对象定义了独立使用的方法和属性,它无法直接调用DOM对象方法,相反,DOM对象也无法直接调用jQuery对象的方法或属性。
$(“#wrap”).innerHTML=“嵌入文本”;//jQuery对象调用DOM属性
jQuery对象与DOM对象之间的转换
两者是可以相互转换的,因为他们操作的对象都是DOM元素,只不过jQuery对象包含了多个DOM元素,而DOM对象本身就是一个DOM元素。
1. ####把jQuery对象转换成DOM对象
* 借助数组下标来读取jQuery对象集合中的某个DOM元素对象
<!DOCTYPE html>
<html lang="en">
<head>
<title>标准DOM示例</title>
<meta charset="utf-8"/>
</head>
<body>
<h1>这是一份简单的文档对象模型</h1>
<ul>
<li>D表示文档</li>
<li>O表示对象</li>
<li>M表示模型</li>
</ul>
</body>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var $li=$("li");
var li = $li[0];
alert(li.innerHTML);
})
</script>
</html>
* 借助jQuery对象方法,如get()方法,为get()方法传递一个下标值,即可从jQuery对象中取出一个DOM对象元素
$(function () {
var $li=$("li");
var li = $li.get(‘0‘);
alert(li.innerHTML);
})
- ####把DOM对象转换成jQuery对象
对于DOM对象,直接把他传递给$()函数即可,jQuery对象会自动把它包装为jQuery对象,然后就可以自由调用jQuery定义的方法。
<script type="text/javascript">
$(function () {
var li = document.getElementsByTagName(‘li‘);
var $li=$(li[0]);
alert($li.html());
})
</script>
jQuery的ready不等于Javascript的load
load时间是等到网页中所有的内容加载完毕之后,才被执行。
jQuery的ready事件在DOM结构绘制完毕之后就执行,也就是先于外部文件的加载执行。
时间: 2024-11-13 07:58:25