DOM常用对象

一、select对象

  HEML中的下拉列表

  属性:

    1.options 获得当前select下所有option

    2.options[i] 获得当前select下i位置的option

    3.selectedIndex 获得当前选中的option的下标

    4.size 设置或返回下拉列表中的可见行数。

    5.length 返回下拉列表中的选项数目。

    6.multiple 设置或返回是否选择多个项目。

    7.id 设置或返回下拉列表的 id。

    8.name 设置或返回下拉列表的名称。

  方法:

    1.add(新option对象) 向下拉列表添加一个选项。

    2.blur() 从下拉列表移开焦点。

    3.remove(index) 从下拉列表中删除一个选项。

  时间:

    1.onchange 当改变选择时调用的事件句柄。

二、option对象

  HTML 表单中下拉列表中的一个选项。

  创建:var newOpt=new Option(innerHTML,value);//创建option对象同时,设置对象的innerHTML和value属性

  一句话:创建,设置,追加: select.add(new Option(innerHTML,value));

  属性:

    1.index 获取当前option的下标位置,专用于删除

    2.selected 设置或返回 selected 属性的值。true false

  示例:联动菜单

  

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <title>联动菜单</title>
 5 <meta charset="utf-8" />
 6 <script>
 7     /*使用 HTML DOM 的方式实现联动菜单*/
 8     var categories=[
 9 {"id":10,"name":‘男装‘,"children":[
10     {"id":101,"name":‘正装‘},
11     {"id":102,"name":‘T恤‘},
12     {"id":103,"name":‘裤衩‘}
13 ]},
14 {"id":20,"name":‘女装‘,"children":[
15     {"id":201,"name":‘短裙‘},
16     {"id":202,"name":‘连衣裙‘},
17     {"id":203,"name":‘裤子‘,"children":[
18         {"id":2031,"name":‘长裤‘},
19         {"id":2031,"name":‘九分裤‘},
20         {"id":2031,"name":‘七分裤‘}
21     ]},
22 ]},
23 {"id":30,"name":‘童装‘,"children":[
24     {"id":301,"name":‘帽子‘},
25     {"id":302,"name":‘套装‘,"children":[
26         {"id":3021,"name":"0-3岁"},
27         {"id":3021,"name":"3-6岁"},
28         {"id":3021,"name":"6-9岁"},
29         {"id":3021,"name":"9-12岁"}
30     ]},
31     {"id":303,"name":‘手套‘}
32 ]}
33 ];
34
35 //专门遍历一级分类 data保存当前同级分类的数组
36 function loadData(data){
37     //创建一个select对象
38     //在select对象中追加一个新option,内容为请选择"-请选择-",值为0
39     //遍历data中每个类别对象
40     // 每遍历一个,就要在select中追加一个option,内容是当前对象的name属性值为当前对象的id属性
41     //
42     var select=document.createElement("select");
43     select.add(new Option("-请选择-",0));
44     for (var key in data)
45     {
46         select.add(new Option(data[key].name,data[key].id));
47     }
48     //为新创建的select对象,添加onchange时间
49     select.onchange=function(){
50         //this-->select
51
52         //将当前select后的元素都删除
53         var parent=this.parentNode;
54         while(parent.lastChild!=this){
55             parent.removeChild(parent.lastChild);
56         }
57
58         /*
59             获得和选中项位置对应的类别子对象
60         */
61         var category=data[this.selectedIndex-1];
62         if(category!=undefined&&category.children){
63             loadData(category.children);
64         }
65     }
66     document.querySelector("#category").appendChild(select);
67
68 }
69
70 window.onload=function(){
71     loadData(categories);
72 }
73
74 </script>
75 </head>
76 <body>
77     <div id="category"></div>
78 </body>
79 </html>

三、table对象、tableRow对象、tableCell对象

  table对象

    属性:

      1.tHead 返回表格的 THead 对象。如果不存在该元素,则为 null。

      2.tFoot 返回表格的 TFoot 对象。如果不存在该元素,则为 null。

      3.tBodies 返回包含表格中所有 tbody 的一个数组。

      4.rows 获得表中所有行对象; rows[i] 获得表中小标为i的一个行对象;

      5.width 设置或返回表格的宽度。

      6.border 设置或返回表格边框的宽度。

    方法:

      1.insertRow(rowIndex) 用于在表格中的指定位置插入一个新行。不写或-1为追加到最后一行

      2.deleteRow(rowIndex) 从表格删除一行。

      3.createTHead() 在表格中创建一个空的 tHead 元素; deleteTHead() 从表格删除 tHead 元素及其内容。

      4.createTFoot() 在表格中创建一个空的 tFoot 元素; deleteTFoot() 从表格删除 tFoot 元素及其内容。

  tableRow对象 代表table对象中的某一个tr对象

    属性:

      1.cells: 当前行中所有td对象

      2.cells[i]: 获得当前行中下标为i的td

      3.rowIndex: 当前行的下标位置,专用于删除行

    方法:

      1.var newCell=insertCell(index)

        核心DOM:var td=document.createElement("td");tr.appendChild(td);

      2.deleteCell(index)

  tableCell对象

    属性:cellIndex

  示例:动态操作表格

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <title>动态操作表格</title>
 5 <meta charset="utf-8" />
 6 <style>
 7     table{width:500px; border-collapse:collapse;
 8         text-align:center;
 9     }
10     th,td{border:1px solid #ccc}
11 </style>
12 <script>
13     var data=[
14 {"id":1001,"name":‘可口可乐‘,"price":2.5,"count":3000},
15 {"id":1003,"name":‘百事可乐‘,"price":2.5,"count":5000},
16 {"id":1011,"name":‘非常可乐‘,"price":2.3,"count":1000}
17     ];
18     window.onload=function(){
19         var tbody=
20         document.querySelector("#data table tbody");
21
22         //遍历data数组中每个商品对象
23         for(var i=0;i<data.length;i++){
24         //    每遍历一个对象,就追加一个新行tr
25             var tr=tbody.insertRow();
26         //    遍历当前对象中每个属性
27             for(var key in data[i]){
28         //        每遍历一个,就在tr中新增一个td
29                 var td=tr.insertCell();
30         //      将td的内容设置为当前对象的当前属性的值
31         //      如果当前属性名为"price"
32         //          则前加"&yen;",再toFixed(2)
33 td.innerHTML=
34     key=="price"?"&yen;"+data[i][key].toFixed(2):
35                  data[i][key];
36             }
37         //遍历完当前对象所有属性后,添加"删除按钮列"
38             //Step1: 向tr中追加新td
39             var td=tr.insertCell(4);
40             //Step2: 创建button元素对象btn
41             var btn=document.createElement("button");
42             //Step3: 修改btn的内容为"删除"
43             btn.innerHTML="删除";
44             //Step4: 设置btn的onclick为"删除函数对象"
45             btn.onclick=function(){
46                 var tr=this.parentNode //td
47                            .parentNode; //tr
48                 //Step1: 获得正在删除商品的名称,pname
49                 //       (获得tr中下标为1的格中的内容)
50                 var pname=tr.cells[1].innerHTML;
51     //Step2: 弹出确认框:"是否继续删除"+pname+"吗?"
52     //       如果用户选择确认,才删除当前行
53                 if(confirm(
54                     "是否继续删除 "+pname+" 吗?")){
55                     tr.parentNode.removeChild(tr);
56                 }
57             };
58             //自动调用btn.onclick(); this-->当前btn
59             //Step5: 在td下追加btn
60             td.appendChild(btn);
61         }
62     }
63 </script>
64 </head>
65 <body>
66     <div id="data">
67         <table>
68             <thead>
69                 <tr>
70                     <th>编号</th>
71                     <th>名称</th>
72                     <th>单价</th>
73                     <th>数量</th>
74                     <th>操作</th>
75                 </tr>
76             </thead>
77             <tbody>
78
79             </tbody>
80         </table>
81     </div>
82 </body>
83 </html>

时间: 2024-08-04 16:23:38

DOM常用对象的相关文章

DOM创建和删除节点、HTML DOM常用对象[转]

创建和删除节点:——核心DOM   1. 创建单个元素节点:3步:      1. 创建空元素节点对象:         var elem=document.createElement("标签名");        比如: var a=document.createElement("a");          html: <a></a>      2. 设置新元素的关键属性:        比如: a.href="http://tm

DOM_04之常用对象及BOM

1.添加:①var a=document.createElement("a"):②设置关键属性:③将元素添加到DOM树:a.parent.appendChild(a):b.parent.insertBefore(a,old):c.parent.replaceChlid(a,old): 2.优化:尽量少的操作DOM树,①如果同时添加父元素与子元素,应在内存中先将子元素拼到父元素下,再将父元素添加到DOM树:②如果添加多个平级子元素,应先将所有子元素放入文档片段,再将文档片段一次性添加到D

DOM_03之元素及常用对象

1.修改样式:访问内联样式:elem.style.css属性名:获得其他:var style=getComputerStyle(elem):*(* 获得焦点onfocus:失去焦点onblur:): 2.修改内外部样式属性:①获得样式表对象:var sheet=document.styleSheets[i]:②获得cssRule对象:var rule=sheet.cssRules[i]:③修改cssRule属性:rule.style.css属性名=值: 3.添加:①创建空元素对象:var a=d

HTML-DOM常用对象的用法(select/option/form/table)

HTML DOM 常用对象: 它对常用HTML元素操作的简化. Select对象 它代表页面上的一个select元素,常用属性有: select.value --当前选中项的value ,没有value,就返回选中项的内容. select.options --保存select下所有option元素对象,相当于: select.getElementsByTagName("option"): select.options.length --保存select下option的个数,清空sele

SVG DOM常用属性和方法介绍

将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析器所特有的.SVG支持DOM2标准. 12.2.1  文档初始化相关 evt属性 evt表示事件本身,可以通过evt获取与当前事件相关的信息,用户可以在script中定义响应函数,进行相应的处理.它与普通JavaScript脚本中的event基本相同,只不过在普通JavaScript的脚本中简写成“e”. ownerDocument属性 通过引

Javascript操作DOM常用API总结

Javascript操作DOM常用API总结 原文地址:http://luopq.com/2015/11/30/javascript-dom/ 类型 Node类型(ELEMENT_NODE:1 ATTRIBUTE_NODE:2 TEXT_NODE:3 COMMENT_NODE:8``DOCUMENT_NODE:9 DOCUMENT_FRAGMENT_NODE:11) 节点创建型(createElement createTextNode cloneNode createDocumentFragme

Jsoup代码解读之二-DOM相关对象

Jsoup代码解读之二-DOM相关对象 之前在文章中说到,Jsoup使用了一套自己的DOM对象体系,和Java XML API互不兼容.这样做的好处是从XML的API里解脱出来,使得代码精炼了很多.这篇文章会说明Jsoup的DOM结构,DOM的遍历方式.在下一篇文章,我会并结合这两个基础,分析一下Jsoup的HTML输出功能. DOM结构相关类 我们先来看看nodes包的类图: 这里可以看到,核心无疑是Node类. Node类是一个抽象类,它代表DOM树中的一个节点,它包含: 父节点parent

BOM常用对象

1.BOM的常用对象: window  navigator history location dicument screen event navigator:保存浏览器配置信息的对象 cookicEnablcd:判断是否启用cookic userAgent:判断浏览器的名称和版本号 plugins:保存浏览器中所有插件信息的集合 screen:保存显示屏幕的对象信息 history:保存当前的历史记录栈 history.go(-1):后退 history.go(1):前进一次 history.g

DOM常用操作

文档对象模型( DOM, Document Object Model )主要用于对HTML和XML文档的内容进行操作.DOM描绘了一个层次化的节点树,通过对节点进行操作,实现对文档内容的添加.删除.修改.查找等功能. 一.DOM树 DOM树有两种,分别为节点树和元素树. 节点树:把文档中所有的内容都看成树上的节点: 元素树:仅把文档中的所有标签看成树上的节点. 二.DOM常用操作 2.1 查找节点 document.getElementById('id属性值'); 返回拥有指定id的第一个对象的