tBodies、tHead、tFoot、rows、cells
注意: 一个表格可以有多个tbody (所以tBodies是复数,是一个数组),但是只能有一个thead,一个tfoot (tHead和tFoot不是数组,只是一个元素)。
表格.tBodies[0] == 表格.getElementsByTagName(“tbody”)[0]
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oTab = document.getElementById("tab1");
//alert(oTab.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[2].getElementsByTagName("td")[1].innerHTML);
alert(oTab.tBodies[0].rows[2].cells[1].innerHTML);
};
script>
<body>
<table id="tab1" border="1" width="500px">
<thead>
<td>IDtd>
<td>姓名td>
<td>年龄td>
thead>
<tbody>
<tr>
<td>1td>
<td>Lisatd>
<td>25td>
tr>
<tr>
<td>2td>
<td>Bluetd>
<td>27td>
tr>
<tr>
<td>3td>
<td>张三td>
<td>23td>
tr>
<tr>
<td>4td>
<td>李四td>
<td>28td>
tr>
<tr>
<td>5td>
<td>王五td>
<td>24td>
tr>
tbody>
table>
body>
html>
简单的隔行变色:
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oTab = document.getElementById("tab1");
//for(var i=0; i
for(var i=0; i0 ].rows.length; i++)
{
if(i%2)
{
oTab.tBodies[0].rows[i].style.background = "#ccc";
}
else
{
oTab.tBodies[0].rows[i].style.background = "";
}
}
};
script>
<body>
<table id="tab1" border="1" width="500px">
<thead>
<td>IDtd>
<td>姓名td>
<td>年龄td>
thead>
<tbody>
<tr>
<td>1td>
<td>Lisatd>
<td>25td>
tr>
<tr>
<td>2td>
<td>Bluetd>
<td>27td>
tr>
<tr>
<td>3td>
<td>张三td>
<td>23td>
tr>
<tr>
<td>4td>
<td>李四td>
<td>28td>
tr>
<tr>
<td>5td>
<td>王五td>
<td>24td>
tr>
tbody>
table>
body>
html>
鼠标移入高亮:
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oTab = document.getElementById("tab1");
var oldColor = "";
//for(var i=0; i
for(var i=0; i0 ].rows.length; i++)
{
oTab.tBodies[0].rows[i].onmouseover = function()
{
oldColor = this.style.background; // 保存原来的背景颜色
this.style.background = "green";
};
oTab.tBodies[0].rows[i].onmouseout= function()
{
//this.style.background = ""; //鼠标移出后会将原来的背景色去掉
this.style.background = oldColor;
};
if(i%2)
{
oTab.tBodies[0].rows[i].style.background = "#ccc";
}
else
{
oTab.tBodies[0].rows[i].style.background = "";
}
}
};
script>
<body>
<table id="tab1" border="1" width="500px">
<thead>
<td>IDtd>
<td>姓名td>
<td>年龄td>
thead>
<tbody>
<tr>
<td>1td>
<td>Lisatd>
<td>25td>
tr>
<tr>
<td>2td>
<td>Bluetd>
<td>27td>
tr>
<tr>
<td>3td>
<td>张三td>
<td>23td>
tr>
<tr>
<td>4td>
<td>李四td>
<td>28td>
tr>
<tr>
<td>5td>
<td>王五td>
<td>24td>
tr>
tbody>
table>
body>
html>
DOM方法的使用
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oTab = document.getElementById("tab1");
var oName = document.getElementById("name");
var oAge = document.getElementById("age");
var oBtn = document.getElementById("btn1");
var id = oTab.tBodies[0].rows.length + 1;
oBtn.onclick = function()
{
var oTr = document.createElement("tr");
var oTd = document.createElement("td");
//oTd.innerHTML = oTab.tBodies[0].rows.length + 1; //出现问题:如果中间删除一行后,新添加的id有重复
oTd.innerHTML = id++;
oTr.appendChild(oTd);
var oTd = document.createElement("td");
oTd.innerHTML = oName.value;
oTr.appendChild(oTd);
var oTd = document.createElement("td");
oTd.innerHTML = oAge.value;
oTr.appendChild(oTd);
var oTd = document.createElement("td");
//oTd.innerHTML = "删除";
oTd.innerHTML = '删除';
oTr.appendChild(oTd);
oTd.getElementsByTagName("a")[0].onclick = function()
{
//oTab.removeChild(this.parentNode.parentNode); //出错,必须写上tBodies
oTab.tBodies[0].removeChild(this.parentNode.parentNode);
};
//oTab.appendChild(oTr);
oTab.tBodies[0].appendChild(oTr);
};
};
script>
<body>
姓名:<input id="name" type="text" />
年龄:<input id="age" type="text" />
<input id="btn1" type="button" value="添加" />
<table id="tab1" border="1" width="500px">
<thead>
<td>IDtd>
<td>姓名td>
<td>年龄td>
<td>操作td>
thead>
<tbody>
<tr>
<td>1td>
<td>Lisatd>
<td>25td>
<td>td>
tr>
<tr>
<td>2td>
<td>Bluetd>
<td>27td>
<td>td>
tr>
<tr>
<td>3td>
<td>张三td>
<td>23td>
<td>td>
tr>
<tr>
<td>4td>
<td>李四td>
<td>28td>
<td>td>
tr>
<tr>
<td>5td>
<td>王五td>
<td>24td>
<td>td>
tr>
tbody>
table>
body>
html>
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oTab = document.getElementById("tab1");
var oName = document.getElementById("name");
var oBtn = document.getElementById("btn1");
oBtn.onclick = function()
{
for(var i=0; i0 ].rows.length; i++)
{
if(oTab.tBodies[0].rows[i].cells[1].innerHTML == oName.value)
{
oTab.tBodies[0].rows[i].style.background = "yellow";
}
else
{
oTab.tBodies[0].rows[i].style.background = "";
}
}
};
};
script>
<body>
姓名:<input id="name" type="text" />
<input id="btn1" type="button" value="搜索" />
<table id="tab1" border="1" width="500px">
<thead>
<td>IDtd>
<td>姓名td>
<td>年龄td>
<td>操作td>
thead>
<tbody>
<tr>
<td>1td>
<td>Lisatd>
<td>25td>
<td>td>
tr>
<tr>
<td>2td>
<td>Bluetd>
<td>27td>
<td>td>
tr>
<tr>
<td>3td>
<td>张三td>
<td>23td>
<td>td>
tr>
<tr>
<td>4td>
<td>李四td>
<td>28td>
<td>td>
tr>
<tr>
<td>5td>
<td>王五td>
<td>24td>
<td>td>
tr>
tbody>
table>
body>
html>
str1.search(str2): 若str1中包含str2, 返回出现的位置(从0开始),否则返回-1。
移动Li
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oUl1 = document.getElementById("ul1");
var oUl2 = document.getElementById("ul2");
var oBtn = document.getElementById("btn1");
oBtn.onclick = function()
{
var oLi = oUl1.children[0]; // 注意: 是children,而不是child
//oUl1.removeChild(oLi); //可以不用, 因为appendChild:先把元素从原来的父级上删除,然后再添加到新的父级。
oUl2.appendChild(oLi);
};
};
script>
<body>
<ul id="ul1">
<li>1li>
<li>2li>
<li>3li>
<li>4li>
ul>
<input id="btn1" type="button" value="移动" />
<ul id="ul2">
ul>
body>
html>
或者:
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oUl1 = document.getElementById("ul1");
var oBtn = document.getElementById("btn1");
oBtn.onclick = function()
{
var oLi = oUl1.children[0];
oUl1.appendChild(oLi);
};
};
script>
<body>
<input id="btn1" type="button" value="移动" />
<ul id="ul1">
<li>1li>
<li>2li>
<li>3li>
<li>4li>
ul>
ul>
body>
html>
元素排序:转换——排序——插入
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oUl1 = document.getElementById("ul1");
var oBtn = document.getElementById("btn1");
oBtn.onclick = function()
{
var aLi = oUl1.getElementsByTagName("li");
// aLi.sort(); // 错误!因为aLi并不是Array,而是一个元素集合。它没有sort方法。
// convert aLi to an array:
var arr = [];
for(var i=0; ifunction (li1, li2) {
var num1 = parseInt(li1.innerHTML);
var num2 = parseInt(li2.innerHTML);
return num1-num2;
});
for(var j=0; j"该把"+arr[j].innerHTML+"插入到最后");
oUl1.appendChild(arr[j]);
}
};
};
script>
<body>
<input id="btn1" type="button" value="排序" />
<ul id="ul1">
<li>34li>
<li>25li>
<li>9li>
<li>88li>
<li>54li>
ul>
body>
html>
什么是表单
向服务器提交数据,比如:用户注册
action 提交到哪里
onsubmit 提交时发生
onreset 重置时发生
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<script>
window.onload = function()
{
var oForm = document.getElementById("form1");
oForm.onsubmit = function()
{
alert("aaa");
};
oForm.onreset = function()
{
alert("bbb");
};
};
script>
<body>
<form id="form1" action="http://www.zhinengshe.com/">
用户名:<input id="name" type="text" /> <br />
密码:<input type="password" name="user" />
<input type="submit" />
<input type="reset" />
form>
body>
html>
阻止用户输入非法字符 阻止事件
输入时、失去焦点时验证 onkeyup、onblur
提交时检查 onsubmit
*后台数据检查