zoukankan      html  css  js  c++  java
  • JQuery Object vs. DOM element

    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>
    



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

  • 相关阅读:
    MySQL3:索引
    MySQL4:存储过程和函数
    MySQL2:四种MySQL存储引擎
    MySQL1:MySQL函数汇总
    web.xml详解
    SharePoint 多行文本字段设置默认值
    SharePoint Online 自定义Modern UI表单
    Server-side activities have been updated. You need to restart SharePoint Designer to use the updated version of activities.
    计算请假天数JavaScript方法
    SharePoint 2019 离线安装准备工具
  • 原文地址:https://www.cnblogs.com/significantfrank/p/4875818.html
Copyright © 2011-2022 走看看