JQuery Object 和 DOM的区别

HTML DOM 定义了访问和操作HTML文档的标准方法。其中 document 是DOM 树的根对象 ,在浏览器宿主环境中,可以通过JS操作HTML DOM,例如:

document.getElementById("intro").innerHTML;

如果将DOM element alert 出来,其显示为 [object HTMLFormElement]

参考:http://www.w3school.com.cn/htmldom/index.asp

JQuery Object 包含了一个DOM element 的数组, 例如 $('form') 表示当前页面中所有form元素的JQuery object数组。

如果将JQuery Object  alert 出来,其显示为 [object Object]

参考:http://api.jquery.com/Types/#jQuery

JQuery Object, DOM 互转

JQuery Object 转 DOM

如果确定该JQuery Object 只包含一个DOM对象,可以直接获取,例如

var domEle = $('#uniqueId').get(0);

如果是一组DOM对象,可以用each迭代,例如,打印所有checkbox的value代码。

$(':checkbox').each(function(){
console.log("DOM way: "+this.value);
console.log("JQuery way: "+$(this).val());
});

关于console.log(), 我也是今天才知道,在Chrome中,可以用Ctrl+Shift+I 打开调试Javascript 的console, 不仅可以打印log,还可以设置断点debug。 比alert 好用多了,看来还是要多看资料啊。

DOM 转 JQuery Object 就 更简单了, 用$( ) 包住 DOM Object  就可以了, 例如, $(document.getElementById("uniqueId"))

实战

页面上有多个form表单,要求在每个表单里的checkbox按照数据库中已有信息,进行预先勾选。

<html>
<head>
<title> Checkbox demo</title>
</head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("form").each(function(){
console.log("DOM Object" + this);
console.log("JQuery Object" + $(this));
var existingOpts = $(this).find('.existingOpts').val();
console.log("Checked options: "+ existingOpts );
$(this).find(':checkbox').each(function(){
if (existingOpts.indexOf($(this).val()) != -1)
{
$(this).attr('checked','checked');
}
});
});
});
</script> <body>
<form id='1'>
<input type="hidden" name="existingOpts" class='existingOpts' value="apple;orange;"/>
<input type="checkbox" id="mycheckbox" name="test.checkbox" value="apple"> Apple
<input type='checkbox' name='test.checkbox' value='orange'> Orange
</form>
<form id='2'>
<input type="hidden" name="existingOpts" class='existingOpts' value="apple;"/>
<input type='checkbox' name='test.checkbox' value='apple'>Apple
<input type='checkbox' name='test.checkbox' value='orange'>Orange
</form>
</body>
</html>

版权声明:本文为博主原创文章,未经博主允许不得转载。

JQuery Object vs. DOM element的更多相关文章

  1. jQuery object and DOM Element

    They're both objects but DOMElements are special objects. jQuery just wraps DOMElements in a Javascr ...

  2. How do I pull a native DOM element from a jQuery object? | jQuery Learning Center

    How do I pull a native DOM element from a jQuery object? | jQuery Learning Center How do I pull a na ...

  3. jQuery核心之jQuery Object及其相关的常用方法

    1.jQuery Object 和 原生的DOM对象之间有许多方法是不一样的,用jQuery的方法大部分情况下返回的是jQuery Object,但是jQuery也提供了一些方法可以很轻松的获取原生的 ...

  4. 惊叹jQuery(解决jQuery对象到DOM的转换)

    jQuery是一个javascript框架,但绝对不是通常意义上的一些包装,个人感觉是一个改变js控制方式的框架.我们可以像美工通过写css分离页面代码一样,通过jQuery来分离页面与效果..下面转 ...

  5. jQuery中的DOM操作总结

    jQuery中的DOM操作 DOM是Document Object Medel的缩写,它的意思是文档对象模型,根据W3C的官方说法,DOM是一种跟浏览器,平台以及语言都没有关系的一种规范,也就是一种接 ...

  6. jQuery基础教程-第8章-002Adding jQuery object methods

    一.Object method context 1.We have seen that adding global functions requires extending the jQuery ob ...

  7. jQuery对象与dom对象的转换

    一直以来对于通过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,开始的时候不理解,现在此案知道,原来jQuery获得的对象并不和我们平时使用getElementById获得的 ...

  8. Jquery基础之DOM操作

    转自:http://www.cnblogs.com/bro-ma/p/3063942.html JQuery中的DOM操作主要对包括:建[新建].增[添加].删[删除].改[修改].查[查找][像数据 ...

  9. jQuery对象和DOM对象的相关知识

    所谓的DOM就是Document Object Model(文档对象模型)的缩写,或许是我水平低的缘故,感觉就是HTML的标记元素嘛,所以作者画了下面的图: 像这样的元素,就是所谓的DOM对象,获取值 ...

随机推荐

  1. AJAX部分---php-jquery-ajax;

    AJAX的应用场景 1.异步搜索过滤内容数据 2.表单异步验证 3.异步加载页面“更多”数据 4.异步处理登录 5.异步处理用户名是否注册 AJAX的主要特点 1.在不刷新页面的情况下,与服务器进行异 ...

  2. VSCode用户设置

    // 将设置放入此文件中以覆盖默认设置 { //-------- 搜索配置 -------- "search.exclude": { "**/node_modules&q ...

  3. Windows,caffe 仅cpu

    http://caffe.berkeleyvision.org/installation.html 按着官网的步骤:https://github.com/BVLC/caffe/tree/windows ...

  4. CSS基本语法

    这里主要介绍Bootstrap里用到的CSS语法,以便在源码分析时更容易理解和学习.Bootstrap的CSS组件的核心就是选择器的定义以及在各自优先级上的处理. 优先级 如何确定CSS的优先级,这里 ...

  5. jquery判断复选框checkbox是否被选中

    jquery判断复选框checkbox是否被选中 使用is方法 //如果选中返回true //如果未选中返回false .is(':checked');

  6. bootstrap-列表组

    <div class="container"> <!-- list-group 列表组 给ul添加 list-group-item 列表项 给li添加 --> ...

  7. 另一种遍历Map的方式: Map.Entry 和 Map.entrySet()

    源网址: http://blog.csdn.net/mageshuai/article/details/3523116 今天看Think in java 的GUI这一章的时候,里面的TextArea这 ...

  8. 关于SoCFPGA 编译问答

    1.在Qsys里面添加了一个新的组件(不是hps里面的东西),挂在Avalon总线上,如添加了一个新ADC组件,是否需要重新编译dtb. 答:  不需要. 2.修改了相关Qsys里面的东西,是否也需要 ...

  9. CyclicBarrier类合唱演绎

    package a.jery; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorServi ...

  10. outlook找不到文件Outlook.pst 如何启动

    首先注明:这种情况在控制面板-邮件  无法打开的情况下可以使用以下命令打开设置界面 解决方法: 1. 开始 –> 运行 –> cmd 2. 在DOS下,用CD 切换到 Outlook.ex ...