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 src="myjs.js"></script>
<script>
function f1(){
//alert($('s1').selectedIndex);
//alert($('s1').length);
var arr = $('s1').options;
for(i=0;i<arr.length;i++){
alert(arr[i].text +' '+ arr[i].value);
}
}
function f2(){
var op = new Option('武汉','wh');
$('s1').options[$('s1').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 src="myjs.js"></script>
<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){
$('s2').length = 0;
for(i=0;i<arr[index].length;i++){
$('s2').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 src="myjs.js"></script>
<script>
//html dom模型做
function addRow1(){
var tr = $('t1').insertRow($('t1').rows.length);
var td1 = tr.insertCell(tr.cells.length);
var td2 = tr.insertCell(tr.cells.length);
td1.innerHTML = $('name').value;
td2.innerHTML = $('salary').value;
//tr.style.backgroundColor = 'red'; //两种样式1
//tr.className = 'selected'; //两种样式2
$('t1').rows[1].cells[1].style.backgroundColor = 'red';//把某一格加亮
}
//采用w3c dom模型做
function addRow2(){
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);
$('t1').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>

小强的HTML5移动开发之路(31)—— JavaScript回顾6的更多相关文章

  1. 小强的HTML5移动开发之路(18)——HTML5地理定位

    来自:http://blog.csdn.net/dawanganban/article/details/18192091 在前面的<小强的HTML5移动开发之路(2)--HTML5的新特性> ...

  2. 小强的HTML5移动开发之路(14)——Video标签详解

    来自:http://blog.csdn.net/dawanganban/article/details/18180605 在前面的小强的HTML5移动开发之路(5)--制作一个漂亮的视频播放器中制作了 ...

  3. 小强的HTML5移动开发之路(13)——HTML5中的全局属性

    来自:http://blog.csdn.net/dawanganban/article/details/18179483 一.accssskey  快捷键 <!DOCTYPE HTML> ...

  4. 小强的HTML5移动开发之路(11)——链接,图片,表格,框架

    来自:http://blog.csdn.net/dawanganban/article/details/18098193 一.HTML是什么? HTML(hypertext mark-uplangua ...

  5. 小强的HTML5移动开发之路(42)——HTML4与HTML5文档结构比较

    一般来说,人们在书写包括HTML在内的文档时,习惯上按照类似于"章--节--小节"这样的层次结构来进行. 在HTML4中的描述方式: <html> <head&g ...

  6. 小强的HTML5移动开发之路(37)——jqMobi快速入门

    在<小强的HTML5移动开发之路(33)-- jqMobi基础>中我们了解了什么是jqMobi,并从官方下载了jqMobi开发包,下载后解压目录如下: 拷贝上面的/css目录./plugi ...

  7. 小强的HTML5移动开发之路(33)—— jqMobi基础

    一.什么是jqMobi jqMobi是由appMobi针对HTML5浏览器和移动设备开发的javascript框架,是个极快速的查询选择库,支持W3C查询. 版本 jqMobi源码最初在2012年1月 ...

  8. 小强的HTML5移动开发之路(12)——从一个多媒体标签说起

    来自:http://blog.csdn.net/dawanganban/article/details/18136813 一.视频播放 <html> <head> <ti ...

  9. 小强的HTML5移动开发之路(3)——HTML5与HTML4比较

    来自:http://blog.csdn.net/dawanganban/article/details/17652873 在前面介绍了HTML5的新特性,新标签的使用,智能表单设计,引入多媒体对象,C ...

随机推荐

  1. 41.关于Intellij IDEA菜单项中Compile、Make和Build的区别

    转自:https://www.cnblogs.com/ini_always/archive/2011/10/23/2221985.html Compile.Make和Build的区别   针对Java ...

  2. 86.八千万qq密码按相似度排序并统计密码出现次数,生成密码库

    存储qq的文件地址以及按照密码相似度排序的文件地址 //存储qq的文件的地址 ] = "QQ.txt"; //按照密码相似度排序的文件地址 ] = "QQpassword ...

  3. 语音识别系统:有免费实用的"语音到文字"的软件么?

    自从看了<李开复自传>,就对"语音识别系统"产生了非常深刻的印象. 根据自己的判断,语音识别系统还是非常有用的. 以自己的实际需求来看: 1.中国象棋中的应用. 中国象 ...

  4. 原生js大总结八

    071.如何组织事件冒泡   利用事件对象属性:stopPropagation 和 cancelBubble   stopPropagetion是一个方法:e.stopPropagetion();   ...

  5. 洛谷 P1601 A+B Problem(高精)

    P1601 A+B Problem(高精) 题目背景 无 题目描述 高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b] 输入输出格式 输入格式 ...

  6. 注意knn与kmeans的区别

    开始的时候,我居然弄混了. knn是分类方法,是通过新加入的节点最接近的N个节点的属性,来判定新的节点. kmeans是聚类方法,是先选择k个点作为k个簇的中点,然后分簇之后重新划定中心点,然后再分簇 ...

  7. cocos2d-x中六种持续性动作

    持续性动作: (一) 位置变化动作 Move by to Jump by to (二) 属性变化动作 Scale by to Rotate by to Fade in out to Tint to b ...

  8. HttpClient FormUrlEncodedContent System.UriFormatException: 无效的 URI: URI 字符串太长问题解决方案

    1.问题描述: HttpClint 使用FormUrlEncodedContent 调用接口时 报错 System.UriFormatException: 无效的 URI: URI 字符串太长: 2. ...

  9. thinkphp事务不能回滚的问题(因为助手函数)

    thinkphp事务不能回滚的问题(因为助手函数) 一.总结 二.thinkphp 5 事务不能回滚 Db::startTrans(); try{ db('address')->where([' ...

  10. C# 获取文件路径,读取项目中某程序集下文件

    获取文件路径 ------------------------------------------------------------------------- winform获取文件路径: stri ...