??通过JQuery丰富的选择器可以让开发者很容易的选择页面元素,然而却无法自在的使用传统javascript中操作Dom元素的方法。有必要了解JQuery和Dom对象的区别。
一、Dom对象
????在传统的js开发中,程序员通常通过以下方式获得Dom对象:
??? 1.var div = documnet.getElementById("testDiv");
??? 2.var divs = documnet.getElementByTagName("div");
????第一种方法是根据id获取单个Dom对象,第二个方法是根据Html标签名称获取Dom对象的集合。
????通过这种方式获得的Dom对象,有不同的类型,比如input、div、button、span等,Dom对象拥有有限的属性和方法。
二、JQuery对象
????通过JQuery选择器获得的对象拥有JQuery特有的属性和方法。事实上,通过JQuery的id或是name选择器获得的对象,无论是一个还是一组,都是经过JQuery包装过的集合,称作JQuery包装集。这个包装集使得获得的对象拥有丰富的属性和方法。
?
三、Dom对象与jQuery对象的转换
????1、Dom转jQuery包装集?
????要使用jQuery提供的函数,就要首先构造jQuery包装集。 构造JQuery包装集的方法通常有2种:
??? (1) 通过JQuery选择器,形如:$("#testDiv");
??? (2)当已经获得一个Dom元素的时候,可以通过$将其转化成JQuery包装集,形如:
??? var div =?document.getElementById("#testDiv");?
??? var dom_to_JQueryObject(div);
????2、jQuery包装集转Dom对象?
????JQuery包装集是一个集合, 可以通过索引器访问其中的某一个元素得到一个Dom对象,形如:
??? var JQuery_to_domObject = $("#testDiv")[0];
????需要提及的一点是,JQuery包装集中的某些遍历方法,如each()中,可以传递遍历函数,在遍历函数中的this也是Dom元素,比如:
??? $("#testDiv").each(function()?{?alert(this)?});
????如果要在遍历函数中使用JQuery的方法操作Dom,可以利用上面提及的方法进行转换,即:
????$("#testDiv").each(function() {
????????$(this).html("测试Div");
????});
详细解决方案
认识Dom对象跟JQuery对象
热度:260 发布时间:2012-11-06 14:07:00.0
相关解决方案
- jquery 获取jsp页面的id解决方法
- jquery,二维数组取值。解决办法
- 求jquery.form.js+jquery.validate.min.js 用ajax提交表单的代码范例
- jquery 提交form表单不用插件的那种 如何提交
- jquery ajax回传没有值,该怎么处理
- jquery easyUI datagrid struts2有关问题
- jquery form 有关问题
- springmvc jquery ajax 提交复杂对象,415异常解决办法
- 应用Struts2 与 jquery,ajax验证用户注册,不用从数据库获取数据
- jquery ajax select解决方法
- php jquery check username ajax检察帐号唯一性
- jquery ajax返回值的有关问题
- jquery 或js 获取指定字符间的字符串,并轮换。回答出来的是大神级~
- jquery 的bind里面能不能获得返回值呢? 对小弟我很难的有关问题啊
- jquery 的uploadify下传图片怎么让出错信息提示成中文
- java+jquery easy ui + json + struts分页例子
- jquery easyui分页效率有关问题
- jquery 如何获得动态添加后的子元素个数?
- jQuery.ajax()请求struts2数据 回到data值了undefined
- 关于Struts2 jQuery Plugin的 Result,该如何处理
- Jquery 点击按钮实现图片翻页,该如何解决
- jquery 关于监听checkbox的选中和不选中事件,该如何解决
- jQuery append动态添加的页面对象如何处理刷新掉
- Jquery+json解决思路
- jquery post有关问题
- 求大神解决偏题 - jquery ajax
- jquery $.ajax有关问题
- jquery td遍历有关问题
- jquery ui taps有关问题,求解!
- jquery easyui 如何设置标题列居左,里面的数据列居右