HTML DOM模型: w3c dom 模型(规范)出现之前,各个浏览器自己支持的一些dom操作
Select对象
属性:
selectedIndex:表示用户现在选择的那个选项的下标(从0开始)
length:获取或者设置选项的长度
options:值是一个数组,每个数组元素是option对象,表示下拉列表的所有选项
Option对象
属性:
text:选项的描述
value:选项的值
selected:当值为ture时,表示这个选项被用户选中
可以按照如下方式创建Option对象
var obj = new Option(text, value);
- <html>
- <head>
- <script>
- function f1(){
- //alert($('s1').selectedIndex);
- //alert($('s1').length);
- var ojb = document.getElmentById("s1");
- var arr = obj.options;
- for(i=0;i<arr.length;i++){
- alert(arr[i].text +' '+ arr[i].value);
- }
- }
- function f2(){
- var
ojb = document.getElmentById("s1");- var op = new Option('武汉','wh');
- obj.options[obj.options.length] = op;
- }
- </script>
- </head>
- <body>
- <select id="s1" style="width:120px;" name="s1">
- <option value="bj">北京</option>
- <option value="sh">上海</option>
- <option value="xa">西安</option>
- <option value="sz">深圳</option>
- <option value="tj">天津</option>
- </select>
- <input type="button" value="点我吧" onclick="f2();"/>
- </body>
- </html>
级联下拉列表
- <html>
- <head>
- <script>
- var arr = new Array();
- arr[0] = [new Option('--方向--','-1')];
- arr[1] = [new Option('商务英语','en1'),
- new Option('专业英语','en2')];
- arr[2] = [new Option('计算机软件','comp1'),
- new Option('计算机网络','comp2'),
- new Option('计算机应用','comp3')];
- //数组的创建放在外面执行效率更高
- function change(index){
- var obj = document.getElementById("s2");
- obj.length = 0;
- for(i=0;i<arr[index].length;i++){
- obj.options[i] = arr[index][i];
- }
- }
- </script>
- </head>
- <body>
- <select id="s1" style="width:120px;" onchange="change(this.selectedIndex);">
- <!-- this表示绑定该事件的节点,在这里表示<select>节点-->
- <option value="-1">--专业--</option>
- <option value="english">英语</option>
- <option value="computer">计算机</option>
- </select>
- <select id="s2" style="width:120px;">
- <option value="-1">--方向--</option>
- </select>
- </body>
- </html>
Table对象 相当于<table>
属性:
tHead:返回tHead对象
tFoot:返回tFoot对象
tBody:返回tBody对象数组
rows:返回表格所有的行,TableRow数组
方法:
var obj = insertRow(index):在index处插入一行,返回的obj是TableRow对象(下标从0开始)
deleteRow(index):删除index处的一行
TableRow对象 相当于<tr>
属性:
cells:表示所有单元格的一个数组(TableCell对象)
方法:
var obj = insertCell(index); 在index处插入一个单元格,返回obj是TableCell
delecteCell(index):删除一个单元格
TableCell对象 相当于<td>
- <html>
- <head>
- <script>
- //html dom模型做
- function addRow1(){
- varr obj = document.getElmentById("t1");
- var tr =
obj.insertRow(obj.rows.length);- var td1 = tr.insertCell(tr.cells.length);
- var td2 = tr.insertCell(tr.cells.length);
- td1.innerHTML = document.getElementById('name').value;
- td2.innerHTML =
document.getElementById('salary').value;- //tr.style.backgroundColor = 'red'; //两种样式1
- //tr.className = 'selected'; //两种样式2
- obj.rows[1].cells[1].style.backgroundColor = 'red';//把某一格加亮
- }
- //采用w3c dom模型做
- function addRow2(){
- varr
obj = document.getElmentById("t1");- var tr1 = document.createElement('tr');
- var td1 = document.createElement('td');
- var td2 = document.createElement('td');
- td1.innerHTML = $('name').value;
- td2.innerHTML = $('salary').value;
- tr1.appendChild(td1);
- tr1.appendChild(td2);
- obj.appendChild(tr1);
- }
- </script>
- <style>
- .selected{
- background-color:red;
- }
- </style>
- </head>
- <body>
- <table id="t1" border="1" cellpadding="0" cellspacing="0" width="60%">
- <tr><td>姓名</td><td>工资</td></tr>
- <tr><td>zs</td><td>2000</td></tr>
- <tr><td>ls</td><td>3000</td></tr>
- <tr><td>wu</td><td>4000</td></tr>
- </table><br/>
- 姓名:<input type="text" name="name" id="name"/>
- 工资:<input type="text" name="salary" id="salary"/>
- <input type="button" value="添加" onclick="addRow2();"/>
- </body>
- </html>