jQuery介绍 DOM对象和jQuery对象的转换与区别

jQuery介绍 DOM对象和jQuery对象的转换与区别

jQuery介绍

jQuery: http://jquery.com/

write less, do more.

jQuery Hello World程序

<script type=“text/javascript” src=“xxx//jquery-x.y.z.js">

  引入jQuery.存在两个版本,jquery-x.y.z.min.js是精简压缩版,不带min的是开发版,代码中的注释和缩进等都被保留了.

注意路径中的”/"需要转义,即用”//“.

$()符号将DOM对象转化为jQuery对象.

Hello World程序如下:

<html>
<head>
    <title>Hello jQuery</title>
    <script type="text/javascript" src="libs//jquery-1.11.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            alert("Hello World");
        });
    </script>
</head>
<body>

</body>
</html>

$(document).ready和window.onload的比较

首先看window.onload:

window.onload = sayHello;
window.onload = sayWorld;

function sayHello() {
    alert("Hello");
}
function sayWorld() {
    alert("World");
}

后面的方法会覆盖掉前面的方法,也即弹泡最后只显示一个,即World的那个.

如果采用$(document).ready,则方法会串联起来,即先显示Hello的alert,再显示World的.

$(document).ready(sayHello);
$(document).ready(sayWorld);

function sayHello() {
    alert("Hello");
}
function sayWorld() {
    alert("World");
}

这样就可以关联多个方法.

另一个很小的差别,就是ready方法的执行会稍微靠前一点.widow.onload会等待DOM准备好,并且所有绑定结束,而ready只能DOM准备好,其他工作可能还没有做好.

实例:给每一个超链接对象附加onclick事件

首先,body中添加多个超链接对象:

<body>
    <a href="#">test1</a><br>
    <a href="#">test2</a><br>
    <a href="#">test3</a><br>
    <a href="#">test4</a>
</body>

  要给每个对象添加onclick事件,可以有多种方法:

  首先,可以在每个a标签里面写onclick属性;

  其次,可以利用window.onload添加一个方法,获取所有的标签,统一添加事件,如下:

window.onload = function () {
    var myLinks = document.getElementsByTagName("a");
    for(var i = 0; i < myLinks.length; ++i){
        myLinks[i].onclick = function(){
            alert("Hello link: " + i);
        }
    }
}

注意,这里我犯了一个错误,我本来以为alert的数目会递增,结果实际运行的结果是每一个alert都是4.

这是因为js没有块级作用域,变量i引用的是for里的那个,循环后变成了4.也即,onclick事件发生的时候才去取i的值,当然都是4了.

下面用jQuery实现这一功能:

$(document).ready(function () {
    $("a").click(function () {
        alert("Hello link from jQuery!");
    });
});

  jQuery中的$()符号会获得页面当中的所有合适的元素.

  所以上面的代码隐含了遍历的过程,给每一个元素都加上了事件处理函数.

  click方法是jQuery对象提供的方法.

  onclick是DOM对象的属性.

  DOM里面的很多属性到jQuery里面就变成了方法.

DOM对象和jQuery对象之间的相互转换与区别

看一个例子,首先加一个p标签:

<p id="clickMe">Click Me!</p>

先获得一个DOM对象,然后将其转换为一个jQuery对象:

//Part 1: DOM --> jQuery
//DOM object:
var pElement = document.getElementsByTagName("p")[0];
alert("DOM pElement: " + pElement.innerHTML);
//Convert DOM object to jQuery object:
var pElementjQuery = $(pElement);
alert("jQuery pElementjQuery: " + pElementjQuery.html());

也可以先获得一个jQuery对象,再将其转换为DOM对象:

//Part 2: jQuery --> DOM
//jQuery object array:
var clickMejQuery = $("#clickMe");
//Convert jQuery object to DOM object (2 ways):
//way 1:
var domClickMe1 = clickMejQuery[0];
alert("dom1: " + domClickMe1.innerHTML);

//way 2:
var domClickMe2 = clickMejQuery.get(0);
alert("dom2: " + domClickMe2.innerHTML);

再次注意:jQuery中$()获取的是一个满足条件的所有元素的数组.

小总结:

  $(“字符串”)会返回满足条件的所有元素的一个数组,其中:

  字符串以#开头,表示id;

  字符串以.开头,表示CSS的class名;

  若非以上两种情况,则改字符串表示标签名.

  $(DOM对象)可以得到一个jQuery对象.

参考资料:

jQuery官网:http://jquery.com/

jQuery API:http://api.jquery.com/

jQuery UI demos: http://jqueryui.com/demos/

w3school jQuery教程:http://www.w3school.com.cn/jquery/index.asp

圣思园张龙老师JavaWeb视频教程65.

时间: 2024-11-03 22:15:17

jQuery介绍 DOM对象和jQuery对象的转换与区别的相关文章

jQuery复习—DOM无关的jQuery实用函数

DOM无关的jQuery实用函数 一.实用函数的定义 定义在jQuery/$命名空间下不操作包装集的函数.一般来说这些使用函数要么操作除DOM元素以外的JavaScript对象,要么执行一些与Dom操作无关的操作. 二.操作JavaScript对象和集合 1.修建字符串  $.trim(value) 定义:删除传入的字符串开头和结尾处的空白字符,并返回修改后的结果 参数:value需要修改的字符串 返回值:修改后的字符串 $.trim($('#someFiled').val()); 2.遍历属性

jQuery的dom操作(二)转

addClass() 向匹配的元素添加指定的类名. after() 在匹配的元素之后插入内容. append() 向匹配的元素内部追加内容. appendTo() 向匹配的元素内部追加内容. attr() 设置或返回匹配元素的属性和值. before() 在每个匹配的元素之前插入内容. clone() 创建匹配元素集合的副本. detach() 从 DOM 中移除匹配元素集合. empty() 删除匹配的元素集合中所有的子节点. hasClass() 检查匹配的元素是否拥有指定的类. html(

jQuery对象与dom对象相互转换jQuery对象与dom对象相互转换

转至:http://www.chinaz.com/design/2010/0309/108144.shtml 刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象.至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换. 什么是jQuery对象? ---就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法. 比如: $("#test").html() 意思

jQuery对象和Dom对象的区分以及之间转换

刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象.至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换. 一,什么是jQuery对象? 1.就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法. 比如: $("#test").html() 意思是指:获取ID为test的元素内的html代码.其中html()是jQuery里的方法 这段代码等同于用DO

jQuery、DOM对象傻傻分不清楚

初学jQuery时,经常分辨不清楚哪些是jQuery对象,哪些是DOM对象.这是十分不好的现象.必须明确区分何为jQuery对象.何为DOM对象,对于后续的学习.理解才更方便. 先从DOM对象开始,之后在谈谈jQuery对象(jq对象基于DOM对象). DOM.DOM对象 DOM(Document Object Model,文档对象模型),DOM是W3C的标准.定义了访问HTML和XML文档的标准. 文档对象模型是中立于平台和语言的接口,允许程序和脚本动态的访问和更新文档的内容.结构以及样式,更

DOM对象和js对象以及jQuery对象的区别

一.DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口. DOM实际上是以面向对象方式描述的文档模型.DOM定义了表示和修改文档所需的对象.这些对象的行为和属性以及这些对象之间的关系. 通过DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性.可以对其中的内容进行修改和删除,同时也可以创建新的元素. HTML DOM 独立于平台和编程语言.它可被任何编程语言诸如 Java.JavaScript 和 VBScript 使用. DOM对象,即是我们用

认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法

(一)认识JQuery  JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法    JQuery的主旨:以更少的代码,实现更多的功能 (二)JQuery的优势 1)可以像CSS一样访问和操作DOM 2)修改CSS控制页面外观 3)简化JS代码操作 4)事件代理更加容易 5)动画效果使用方便 6) Ajax技术更加完美 7)大量的基于Jquery的插件 8)可以自定义扩展功能插件 (三)JQuery的语法 格式:$(selector).actio

jQuery - 01. jQuery特点、如何使用jQuery、jQuery入口函数、jQuery和DOM对象的区别、jQuery选择器、

this指的是原生js的DOM对象 .css(""):只写一个值是取值,写俩值是赋值 window.onload   ===   $(document).ready(); $(""):获取元素   标签名..类名.#id jQuery特点 链式编程 jq.shou(3000).html(内容) 相当于 jq.shou(3000) jq.gtml(内容) 隐式迭代 隐式实用for循环.迭代 如何使用jQuery 引包 一定要在使用之前 <script src =

DOM对象和jQuery对象

1.DOM对象 Document Object Model,文档对象模型.通过html Dom可访问所有元素 获取方法有:1.通过id找到元素 document.getElementById("id") 2.通过标签名找到元素对象集合  document.getElementsByTagName("");   3.通过名称找到元素对象集合  document.getElementsByName(name); 2.jQuery对象 通过jQuery包装DOM对象后产生