`

jQuery对象和DOM对象【jQuery开发注意点(一)】

阅读更多
转载:jQuery对象和DOM对象【jQuery开发注意点(一)】
http://www.blogjava.net/jy00314996/archive/2009/02/17/255083.html
学习jQuery已经3天了,总结一些注意的地方供给和我一样的初学者
jQuery对象和DOM对象;这是我第一个碰到的问题。
jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;例如$("#img").attr("src","test.jpg"); 这里的$("#img")就是jQuery对象;

DOM对象就是Javascript固有的一些对象操作。DOM对象能使用Javascript固有的方法,但是不能使用jQuery里的方法。例如:document.getElementById("img").src="test.jpg";这里的document.getElementById("img")就是DOM对象;

$("#img").attr("src","test.jpg"); 和document.getElementById("img").src="test.jpg";是等价的,是正确的,但是$("#img").src="test.jpg";或者document.getElementById("img").attr("src","test.jpg"); 都是错误的。
在说一个例子:就是this,我在写jQuery的时候经常这样写:this.attr("src","test.jpg"); 可是就是出错。其实this是DOM对象,而.attr("src","test.jpg") 是jQuery方法,所以出错了。要解决这个问题就要将DOM对象转换成jQuery对象,例如$(this).attr("src","test.jpg");

1.DOM对象转成jQuery对象:
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)
如:var v=document.getElementById("v");  //DOM对象
var $v=$(v);    //jQuery对象
转换后,就可以任意使用jQuery的方法了。 

2.jQuery对象转成DOM对象:
两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);
(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
如:var $v =$("#v") ; //jQuery对象
var v=$v[0];    //DOM对象
alert(v.checked)   //检测这个checkbox是否被选中

(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
如:var $v=$("#v");  //jQuery对象
var v=$v.get(0);   //DOM对象
alert(v.checked)  //检测这个checkbox是否被选中
通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。

我的jQuery学习笔记
http://www.blogjava.net/jy00314996/archive/2009/02/17/255081.html
 
/******************************    
 * jQuery学习笔记  
 * @author Linvo  
 ******************************/  
 
$() = $(document)   
    
//实现window.onload()效果   
$().ready(   
    function(){   
        //需要执行的内容   
    }   
);   
    
//获取DOM元素(返回值为jQuery对象)   
$(element) //相应元素名的   
$(.classname) //class值匹配的   
$(element.classname) //相应元素中,class值匹配的   
$(#id) //id匹配的   
$(element#id) //相应元素中,id匹配的   
$(element1 > element2)   //元素一 下 的所有元素二(只包括儿子)   
$(element1 element2)        //元素一 中 的所有元素二(包括子孙等)   
$(element1 + element2)  //元素一 后 的所有元素二(代码后)   
$(element1 ~ element2)  //与元素一 并列 的所有元素二(兄弟元素二)   
    
$(#id).html("") //设置 getElementById("id").innerHTML = ""   
$(#id).html()       //取出 getElementById("id").innerHTML   
    
//动画出现效果   
$(#id).show(speed, [callback])   
$(#id).slideDown(speed, [callback])   
 
//在<p>外面包围另一个结构(html代码/元素)   
$("p").wrap("<div class='wrap'></div>")   
$("p").wrap(document.getElementById('content'))   
    
$("p").append("<b>Hello</b>");  //<p>I would like to say: <b>Hello</b></p>   
$("p").prepend("<b>Hello</b>"); //<p><b>Hello</b>I would like to say: </p>   
$("p").before("<b>Hello</b>");  //<b>Hello</b><p>I would like to say: </p>   
$("p").after("<b>Hello</b>");   //<p>I would like to say: </p><b>Hello</b>    
    
//【删除相应class的p元素】   
//<p class="classname">AAA</p> BBB <p>CCC</p>   
//BBB <p>CCC</p>   
$("p").remove(".classname");    
  
//获取具有某属性值的相应元素   
$("input[name=qq]") //获取<input name="qq" type="text" />元素   
    
//属性与值关系   
=   //等于   
*=  //包含该值   
!=  //不包含该值   
^=  //以该值开头   
$=  //以该值结尾   
    
//为每一个匹配的元素执行该函数   
$(element).each(function(){   
    //需要执行的内容   
})     
 
/*  
jQuery中用post和get方法  
(ajax高层抽象方法,对ajax方法进行了封装)  
   
【当JQ中用post方式】  
PHP用$_POST接收时,只有n2  
PHP用$_GET接收时,只有n1  
   
【当JQ中用get方式】  
PHP用$_GET接收,n1 n2都有  
PHP用$_POST接收时,都没有  
*/  
$.post("do.php?n1=a", {n2: "b"},       
    function(data){   
        alert("Data Loaded: " + data);   
    }   
);   

//DOM对象 -> jQuery对象   
//$(DOM对象)   
var v = document.getElementById("id");  //DOM对象 v    
var $v = $(v); //jQuery对象 $v   
    
//jQuery对象 -> DOM对象   
//jQuery对象.get(0) 或者 jQuery对象[0]   
var $v = $("#id");  //jQuery对象 $v   
var v = $v.get(0); //DOM对象 v   
var v = $v[0]; //DOM对象 v   
    
$(element).get(); //获取指定元素的集合   
    
//jQuery用ajax方法(ajax低层方法)   
$.ajax({   
    type:   "POST", //POST时PHP中用$_POST接收,GET反之。   
    url:    "do.php",   
    data:   "n1="+x+"&n2="+y,   
    success: function(data){ alert( "Data Saved: " + data ); }    
});   

//序列表表格内容为请求字符串   
//返回值:(例)name=linvo&age=22   
$("form").serialize() //序列化整个表单元素内容   
$("input[type=text]").serialize() //序列化指定元素内容(例)   
    
$(element).empty(); //移除指定元素下所有元素   
    
/*  
 CSS设置  
*/  
$(element).addClass("classname"); //为指定元素添加css样式   
$(element).removeClass("classname") //移除指定元素的css样式   
$(element).toggleClass("classname") //指定元素的css样式,有则删除,无则添加   
$(element).css("attname"); //获取指定元素相应属性的值(attname例:color)   
$(element).css("attname","value"); //设置……属性值(例:"color","#FF0000")   
$(element).css({ "margin-left": "10px", "background-color": "blue" });    
//使用“名/值对”进行批量设置……(例子见自身)   
 
$(element1).next(element2) //与指定元素一 紧邻 的指定元素二   
$(element1).parent().is(element2) //元素一的父元素在元素二的集合中吗    
    
//模仿鼠标悬停事件   
//hover(over,out)   
//over:在上方执行 | out:移出时执行   
$(element).hover(   
    function(){   
        //在上方执行   
    }, function(){   
        //移出时执行   
    }   
)
分享到:
评论

相关推荐

    jquery对象和dom对象

    jQuery对象和DOM对象在JavaScript web开发中扮演着重要角色。DOM对象是JavaScript与HTML交互的基础,而jQuery对象通过封装DOM对象,提供了更为便利的操作接口。理解两者之间的关系和转换方法,对于提升JavaScript...

    jquery对象和dom对象.doc

    在JavaScript的世界里,jQuery是一个非常流行的库,它极大地简化了DOM操作和事件处理。当我们谈论jQuery对象和DOM对象时,我们需要理解两者之间的基本差异和转换方法。 DOM(Document Object Model)是HTML和XML...

    jQuery对象和DOM对象之间相互转换的方法介绍

    在Web开发中,经常需要在jQuery对象和DOM对象之间进行转换,以便可以利用各自对象的方法优势进行高效编程。jQuery对象是包装了DOM对象的类数组对象,它们之间的转换虽然看似简单,但在实际操作中却非常重要。 首先...

    javascript 原生Dom对象和jQuery对象的联系和区别

    JavaScript中的DOM对象和jQuery对象是两种不同的数据结构...总的来说,DOM对象和jQuery对象在JavaScript网页开发中各有其角色。理解它们之间的联系和差异,可以帮助我们根据项目需求和性能考虑,选择最合适的操作方式。

    关于dom和jquery对象理解

    2. **从DOM到jQuery**:如果有一个DOM对象,想要转换成jQuery对象以便使用jQuery提供的方法,则可以使用`$(dom)`。例如,`var $cr = $(cr);`将DOM对象`cr`转换成了jQuery对象。 #### 总结 DOM与jQuery之间的关系是...

    jquery dom对象 详细介绍1

    jQuery 是一个广泛使用的JavaScript库,它简化了DOM操作、AJAX请求、事件处理以及创建复杂的网页特效。jQuery的核心特性包括对JSON...同时,理解jQuery对象和DOM对象的区别及其相互转换,是有效利用jQuery功能的关键。

    jquery对象和javascript对象即DOM对象相互转换

    总的来说,jQuery对象与DOM对象之间的转换是开发中常见的需求。掌握这种转换技巧能帮助你更好地利用这两个世界的优点,提升代码的可读性和效率。在编写jQuery代码时,一定要注意选择合适的方法,避免混淆两者,这样...

    jQuery第1天:JQ基本介绍、使用步骤、jQuery对象与DOM对象(重点)、jQuery选择器

    jQuery对象是对一组DOM元素的封装,它提供了丰富的API供我们调用。而DOM对象则是浏览器解析HTML后生成的节点对象,用于操作HTML结构。两者之间可以相互转换,如`$(element)`将DOM对象转换为jQuery对象,`element[0]`...

    jQuery简介、jQuery使用详解、DOM对象与jQuery对象的转换与区别

    jQuery是一款广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作,事件处理,动画设计和Ajax交互。本篇文章将深入探讨jQuery的基本概念、使用方法以及DOM对象与jQuery对象之间的转换与区别。 ...

    JQuery DoM和ajax 操作

    2. **链式操作**: jQuery对象支持链式调用,这意味着一旦我们获取了一个jQuery对象,就可以连续调用多个方法,无需每次都重新创建对象,提高了代码的可读性和效率。 3. **DOM操作**: 使用`html()`, `text()`, `...

    jQuery对象与DOM对象之间的转换方法

    在前端开发中,经常需要在jQuery对象和DOM对象之间进行转换。这是因为它们各有优势,jQuery对象可以使用jQuery提供的各种便利方法,而DOM对象则可以使用原生JavaScript的所有属性和方法。理解这两种对象的区别及它们...

    jQuery对象与DOM对象转换方法详解

    有时尤其是在初学jQuery,无法记住jQuery的所有函数时,会有很长一段时间使用jQuery选择器配合原始的dom函数进行开发。所以两种对象的转化是很有必要的。 jQuery对象的索引保存的是dom对象,所以可以通过索引将经...

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

    然而,jQuery对象和DOM对象之间存在差异,需要了解它们之间的转换方法,以便在开发过程中灵活运用。 **jQuery对象转换成DOM对象** 当需要使用DOM对象特有的方法或属性时,需要将jQuery对象转换为DOM对象。有以下两...

    jQuery对象和DOM对象使用说明

    ### jQuery对象和DOM对象使用说明 ...通过以上的知识点讲解,可以了解到在使用jQuery时,正确识别和使用jQuery对象和DOM对象是非常关键的。掌握这两者的区别和转换方法,将有助于提高开发效率和代码质量。

    Jquery对象和Dom对象的区别分析

    DOM表示由节点和对象层次结构组成的文档,这使得程序和脚本能够动态地访问和更新文档的内容、结构以及样式。 1. jQuery对象与DOM对象的基本概念 首先,DOM对象是指直接通过原生JavaScript获取的节点对象,例如使用...

    jquery对象和DOM对象的任意相互转换

    总的来说,jQuery对象和DOM对象的相互转换是JavaScript和jQuery开发中的基本技能,掌握这些技巧可以更好地利用这两个世界的优点,同时避免潜在的问题。通过理解它们的本质差异和转换方法,开发者可以更高效地编写出...

    jquery对象与DOM对象转化

    这样,我们就将一个DOM对象转换成了jQuery对象,可以使用jQuery提供的所有方法和功能。 在实际开发中,理解并掌握这两种类型的对象转换是非常重要的,因为jQuery提供了一些方便的方法,如动画效果、事件处理等,而...

Global site tag (gtag.js) - Google Analytics