获得的对象并不和我们平时使用getElementById获得的对象是一样的对象。所以一些新手就很迷惑,为什么${”#Element”}不能直接
innerHTML,这就是原因所在,解决方式请看下文。
jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意 *** 作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。
如:
$(documentgetElementById("msg"))
则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:
$("#msg")[0],$("div")eq(1)[0],$("div")get()[1],$("td")[5]
这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
以下几种写法都是正确的:
$("#msg")html();
$("#msg")[0]innerHTML;
$("#msg")eq(0)[0]innerHTML;
$("#msg")get(0)innerHTML;
jQuery查找对象是按照标准的dom层级关系来查找的
如table中无论你是否有tbody,在查找子对象的时候都要按照table-->tbody-->tr的层级关系来查找
关于this
<input name="testThis" type="text" onchange="textThis(this)" />
function textThis(obj)
{
//在引用自己用的this是dom对象
alert($(obj)val());
}
该this为dom对象
innerHTML和outerHTML
innerHTML设置或获取对象起始和结束标签内的HTML
outerHTML设置或获取对象及其内容的HTML形式这位网友你好,想调用jQuery的方法你必须先引用jQuery文件,其次你的这个元素必须是jQuery对象才可以。
如果缺了上面的两个条件是不可以的,也就是说js不能直接调用jq方法。一、JavaScript 对象JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
对象只是带有属性和方法的特殊数据类型。
访问对象的属性:
[javascript]
var message="Hello World!";
var x=messagelength;
创建 JavaScript 对象:
[javascript]
person=new Object();
personfirstname="Bill";
personlastname="Gates";
personage=56;
personeyecolor="blue";
使用对象构造器:
[javascript] view plaincopy
function person(firstname,lastname,age,eyecolor)
{
thisfirstname=firstname;
thislastname=lastname;
thisage=age;
thiseyecolor=eyecolor;
}
[javascript]
var myFather=new person("Bill","Gates",56,"blue");
var myMother=new person("Steve","Jobs",48,"green");
二、DOM对象
DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。
根据W3C DOM规范,DOM是HTML与XML的应用编程接口(API)。
通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。
HTML DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和 VBScript 使用。
DOM对象,即是我们用传统的方法(javascript)获得的对象。
三、jQuery对象
jquery对象其实是一个javascript的数组
这个数组对象包含125个方法和4个属性
4个属性分别是
jquery 当前的jquery框架版本号
length 指示该数组对象的元素个数
context 一般情况下都是指向HtmlDocument对象
selector 传递进来的选择器内容 如:#yourId或yourClass等
如果你通过$("#yourId")方法获取jquery对象,
并且你的页面中只有一个id为yourId的元素
那么$("#yourId")[0]就是HtmlElement元素
与documentgetElementById("yourId")获取的元素是一样的
简单理解,就是jQuery创建的对象
jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法
四、DOM对象和jquery对象的区别
[javascript]
var domObj = documentgetElementById("id"); //DOM对象
var $obj = $("#id"); //jQuery对象;
[javascript]
$(“#img”)attr(“src”,”testjpg”); //这里的$(“#img”)就是获取jQuery对象;
[javascript]
documentgetElementById(“img”)src=”testjpg”;//这里的documentgetElementById(“img”)就是DOM对象;
再说一个例子:就是this,我在写jQuery的时候经常这样写:
thisattr(“src”,”testjpg”);
可是就是出错。其实this是DOM对象,而
attr(“src”,”testjpg”)
是jQuery方法,所以出错了。要解决这个问题就要将DOM对象转换成jQuery对象,例如:
$(this)attr(“src”,”testjpg”);
五、DOM对象和jquery对象的转换
DOM对象转成jQuery对象:
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。
方法:$(DOM对象)
[javascript]
var v=documentgetElementById(“v”); //DOM对象
var $v=$(v); //jQuery对象
jQuery对象转成DOM对象:
两种转换方式将一个jQuery对象转换成DOM对象:[index]和get(index);
(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
[javascript]
var $v =$(“#v”) ; //jQuery对象
var v=$v[0]; //DOM对象
alert(vchecked) //检测这个checkbox是否被选中
(2)jQuery本身提供,通过get(index)方法,得到相应的DOM对象。
[javascript]
var $v=$(“#v”); //jQuery对象
var v=$vget(0); //DOM对象
alert(vchecked) //检测这个checkbox是否被选中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)