DOM操作总结
一、DOM初识和常用属性和方法:
DOM是文档对象模型的简称。当网页加载时,可以将结构化文档在内存中转换成对象的树。
DOM节点对象的分类:元素节点,属性节点,文本节点。
- 元素节点:各种标签就是这些元素节点的名称,例如段落标签,列表标签等。
- 文本节点:文本节点总是被包含在元素节点的内部。
- 属性节点:一般用来修饰元素节点就称之为属性节点。
节点常用属性和方法如下:
parentNode | 返回当前节点的父节点 |
previousSibling | 返回当前节点的前一个兄弟节点 |
nextSibling | 返回当前节点的后一个兄弟节点 |
childNodes | 返回当前节点的所有子节点 |
firstChild | 返回当前节点的第一个子节点 |
lastChild | 返回当前节点的最后一个子节点 |
getElementByTagName(tagName) | 返回当前节点的具有指定标签名的所有子节点 |
举例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>获取元素值并弹出</title>
<style>
#n4{color:red;}
</style>
</head>
<body>
<ul id="name">
<li id="n1">zhangsan</li>
<li id="n2">lisi</li>
<li id="n3">wangwu</li>
<li id="n4">zhaoliu</li>
<li id="n5">xiaoqiang</li>
<li id="n6">chenhao</li>
</ul>
<input type="button" value="父节点" οnclick="showinfo(curr.parentNode)">
<input type="button" value="第一个子节点" οnclick="showinfo(curr.parentNode.firstChild.nextSibling)">
<input type="button" value="上一个子节点" οnclick="showinfo(curr.previousSibling.previousSibling)">
<input type="button" value="下一个子节点" οnclick="showinfo(curr.nextSibling.nextSibling)">
<input type="button" value="最后一个子节点" οnclick="showinfo(curr.parentNode.lastChild.previousSibling)">
<input type="button" value="得到所有li元素的个数" οnclick="showCount()">
</body>
<script>
var curr=document.getElementById('n4');
function showinfo(target)
{
alert(target.innerHTML);
}
function showCount()
{
alert(document.getElementsByTagName('li').length);
}
</script>
</html>
示例:
二、DOM访问表单控件的常用属性和方法如下:
action | 返回该表单的提交地址 |
elements | 返回该表单内全部表单控件所组成的数组,通过数组可以访问表单内的任何表单控件 |
length | 返回表单内表单域的个数 |
method | 返回表单内的method属性,主要有get和post两个值 |
target | 确定提交表单时的结果窗口,主要有_self、_blank、_top等 |
reset()、submit() | 重置表单和确定表单方法 |
举例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>查找表单控件</title>
</head>
<body>
<form action="http://www.itcast.cn" id="myform" method="get" target="_blank">
<input type="text" name="username" value="chenhao"><br>
<input type="text" name="password" value="123456"><br>
<select name="city">
<option value="shanghai">上海</option>
<option value="nanjing" selected >南京</option>
</select><br>
<input type="button" value="获取表单内第一个控件"
οnclick="alert(document.getElementById('myform').elements[0].value)">
<input type="button" value="获取表单内第二个控件"
οnclick="alert(document.getElementById('myform').elements['password'].value)">
<input type="button" value="获取表单内第三个控件"
οnclick="alert(document.getElementById('myform').city.value)">
<input type="button" value="操作表单" οnclick="operatorForm()">
</form>
</body>
<script>
function operatorForm()
{
var myform=document.forms[0];
alert(myform.action);
alert(myform.method);
alert(myform.target);
myform.submit();
}
</script>
</html>
示例:
三、DOM访问列表框、下拉菜单的常用属性和方法:
form | 返回列表框、下拉菜单所在的表单对象 |
length | 返回列表框、下拉菜单的选项个数 |
options | 返回列表框、下拉菜单里所有选项组成的数组 |
selectedIndex | 返回下拉列表中选中选项的索引 |
type | 返回下拉列表的类型,多选的话返回select-multiple,单选返回select-one |
使用options[index]返回具体选项对应的常用属性:
defaultSelected | 返回该选项默认是否被选中 |
index | 返回该选项在列表框、下拉菜单中的索引 |
selected | 返回该选项是否被选中 |
text | 返回该选项呈现的文本 |
value | 返回该选项的value属性值 |
举例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>查找表单控件</title>
</head>
<body>
<select name="city" id="city" size="5">
<option value="beijing">北京</option>
<option value="shanghai" selected>上海</option>
<option value="tianjin">天津</option>
<option value="nanjing">南京</option>
<option value="shenzhen">深圳</option>
<option value="wuhan">武汉</option>
</select><br>
<input type="button" value="第一个城市" οnclick="change(s_city.options[0])">
<input type="button" value="上一个城市" οnclick="change(s_city.options[s_city.selectedIndex-1])">
<input type="button" value="下一个城市" οnclick="change(s_city.options[s_city.selectedIndex+1])">
<input type="button" value="最后一个城市" οnclick="change(s_city.options[s_city.length-1])">
</body>
<script>
var s_city=document.getElementById('city');
var change=function(city){
alert(city.text);
}
</script>
</html>
示例:
四、DOM访问表格子元素的常用属性和方法如下:
caption | 返回表格的标题对象 |
rows | 返回该表格里的所有表格行 |
tbodies | 返回该表格里所有<tbody …/>元素组成的数组 |
tfoot | 返回该表格里所有<tfoot…/>元素 |
thead | 返回该表格里所有<thead../>元素 |
通过rows[index]返回表格指定的行所对应的属性:
cells | 返回该表格行内所有的单元格组成的数组 |
rowIndex | 返回该表格行在表格内的索引值 |
sectionRowIndex | 返回该表格行在其所在元素(tbody、thead等元素)的索引值 |
通过cells[index]返回表格指定的列对应的属性:
cellIndex | 返回该单元格在表格行内的索引值 |
举例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>查找表单控件</title>
</head>
<body>
<table id="mytable" border="1">
<caption>海通科技课程</caption>
<tr>
<td>C</td>
<td>C++</td>
</tr>
<tr>
<td>LSD</td>
<td>ARM</td>
</tr>
<tr>
<td>J2EE</td>
<td>Android</td>
</tr>
</table>
<input type="button" value="表格标题"
οnclick="alert(document.getElementById('mytable').caption.innerHTML);">
<input type="button" value="第一行、第一格"
οnclick="alert(document.getElementById('mytable').rows[0].cells[0].innerHTML);">
<input type="button" value="第二行、第二格"
οnclick="alert(document.getElementById('mytable').rows[1].cells[1].innerHTML);">
<input type="button" value="第三行、第一格"
οnclick="alert(document.getElementById('mytable').rows[2].cells[0].innerHTML);"><br>
设置指定单元格的值:第<input type="text" id="row" size="2">行,
第<input type="text" id="cel" size="2">列的值为,
<input type="text" id="course" size="10">
<input type="button" id="btn_set" value="修改" οnclick="update()">
</body>
<script>
function update(){
var row=document.getElementById("row").value;
var cell=document.getElementById("cel").value;
var t=document.getElementById("mytable");
// t.rows[row-1].cells[cell-1].innerHTML=document.getElementById('course').value;
t.rows.item(row-1).cells.item(cell-1).innerHTML=document.getElementById('course').value;
}
</script>
</html>
示例:
五、DOM节点的增删改操作:
- DOM创建节点的方法:document.createElement(Tag),Tag必须是合法的HTML元素
- DOM复制节点的方法:节点.cloneNode(boolean deep),当deep为true时,表示复制当前节点以及当前节点的全部后代节点。为false时,只复制当前节点。
DOM添加、删除节点的方法:
appendChild(newNode) 将newNode添加成当前节点的最后一个子节点 insertBefore(newNode,refNode) 在refNode节点之前插入newNode节点 replaceChild(newNode,oldNode) 将oldNode节点替换成newNode节点 removeChild(oldNode) 将oldNode子节点删除 举例代码和示例请参考博文《实例实现DOM节点的添加、复制,替换和删除》。
六、DOM为列表框、下拉菜单添加选项的方式:
创建选项除了使用前面所示的createElement方法之外,还可以使用专门的构造器来构造一个选项出来。语法如下:
new Option(text,value,defaultSelected,selected) |
该构造器有4个参数,说明如下:
text | 该选项的文本、即该选项所呈现的”内容” |
value | 选中该选项的值 |
defaultSelected | 设置默认是否显示该选项 |
selected | 设置该选项是否被选中 |
添加创建好的选项至列表框或下拉菜单的方法:
直接为
还没有评论,来说两句吧...