DOM操作总结

朴灿烈づ我的快乐病毒、 2022-05-20 07:38 238阅读 0赞

一、DOM初识和常用属性和方法:

DOM是文档对象模型的简称。当网页加载时,可以将结构化文档在内存中转换成对象的树。

DOM节点对象的分类:元素节点,属性节点,文本节点。

  • 元素节点:各种标签就是这些元素节点的名称,例如段落标签,列表标签等。
  • 文本节点:文本节点总是被包含在元素节点的内部。
  • 属性节点:一般用来修饰元素节点就称之为属性节点。

节点常用属性和方法如下:
































parentNode

返回当前节点的父节点

previousSibling

返回当前节点的前一个兄弟节点

nextSibling

返回当前节点的后一个兄弟节点

childNodes

返回当前节点的所有子节点

firstChild

返回当前节点的第一个子节点

lastChild

返回当前节点的最后一个子节点

getElementByTagName(tagName)

返回当前节点的具有指定标签名的所有子节点

举例代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>获取元素值并弹出</title>
  6. <style>
  7. #n4{color:red;}
  8. </style>
  9. </head>
  10. <body>
  11. <ul id="name">
  12. <li id="n1">zhangsan</li>
  13. <li id="n2">lisi</li>
  14. <li id="n3">wangwu</li>
  15. <li id="n4">zhaoliu</li>
  16. <li id="n5">xiaoqiang</li>
  17. <li id="n6">chenhao</li>
  18. </ul>
  19. <input type="button" value="父节点" οnclick="showinfo(curr.parentNode)">
  20. <input type="button" value="第一个子节点" οnclick="showinfo(curr.parentNode.firstChild.nextSibling)">
  21. <input type="button" value="上一个子节点" οnclick="showinfo(curr.previousSibling.previousSibling)">
  22. <input type="button" value="下一个子节点" οnclick="showinfo(curr.nextSibling.nextSibling)">
  23. <input type="button" value="最后一个子节点" οnclick="showinfo(curr.parentNode.lastChild.previousSibling)">
  24. <input type="button" value="得到所有li元素的个数" οnclick="showCount()">
  25. </body>
  26. <script>
  27. var curr=document.getElementById('n4');
  28. function showinfo(target)
  29. {
  30. alert(target.innerHTML);
  31. }
  32. function showCount()
  33. {
  34. alert(document.getElementsByTagName('li').length);
  35. }
  36. </script>
  37. </html>

示例:

70

二、DOM访问表单控件的常用属性和方法如下:




























action  返回该表单的提交地址
elements  返回该表单内全部表单控件所组成的数组,通过数组可以访问表单内的任何表单控件
length  返回表单内表单域的个数
method  返回表单内的method属性,主要有get和post两个值
target  确定提交表单时的结果窗口,主要有_self、_blank、_top等
reset()、submit()  重置表单和确定表单方法

举例代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>查找表单控件</title>
  6. </head>
  7. <body>
  8. <form action="http://www.itcast.cn" id="myform" method="get" target="_blank">
  9. <input type="text" name="username" value="chenhao"><br>
  10. <input type="text" name="password" value="123456"><br>
  11. <select name="city">
  12. <option value="shanghai">上海</option>
  13. <option value="nanjing" selected >南京</option>
  14. </select><br>
  15. <input type="button" value="获取表单内第一个控件"
  16. οnclick="alert(document.getElementById('myform').elements[0].value)">
  17. <input type="button" value="获取表单内第二个控件"
  18. οnclick="alert(document.getElementById('myform').elements['password'].value)">
  19. <input type="button" value="获取表单内第三个控件"
  20. οnclick="alert(document.getElementById('myform').city.value)">
  21. <input type="button" value="操作表单" οnclick="operatorForm()">
  22. </form>
  23. </body>
  24. <script>
  25. function operatorForm()
  26. {
  27. var myform=document.forms[0];
  28. alert(myform.action);
  29. alert(myform.method);
  30. alert(myform.target);
  31. myform.submit();
  32. }
  33. </script>
  34. </html>

示例:

70 1

三、DOM访问列表框、下拉菜单的常用属性和方法:
























form  返回列表框、下拉菜单所在的表单对象
length  返回列表框、下拉菜单的选项个数
options  返回列表框、下拉菜单里所有选项组成的数组
selectedIndex  返回下拉列表中选中选项的索引
type  返回下拉列表的类型,多选的话返回select-multiple,单选返回select-one

使用options[index]返回具体选项对应的常用属性:
























defaultSelected  返回该选项默认是否被选中
index  返回该选项在列表框、下拉菜单中的索引
selected  返回该选项是否被选中
text  返回该选项呈现的文本
value  返回该选项的value属性值

举例代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>查找表单控件</title>
  6. </head>
  7. <body>
  8. <select name="city" id="city" size="5">
  9. <option value="beijing">北京</option>
  10. <option value="shanghai" selected>上海</option>
  11. <option value="tianjin">天津</option>
  12. <option value="nanjing">南京</option>
  13. <option value="shenzhen">深圳</option>
  14. <option value="wuhan">武汉</option>
  15. </select><br>
  16. <input type="button" value="第一个城市" οnclick="change(s_city.options[0])">
  17. <input type="button" value="上一个城市" οnclick="change(s_city.options[s_city.selectedIndex-1])">
  18. <input type="button" value="下一个城市" οnclick="change(s_city.options[s_city.selectedIndex+1])">
  19. <input type="button" value="最后一个城市" οnclick="change(s_city.options[s_city.length-1])">
  20. </body>
  21. <script>
  22. var s_city=document.getElementById('city');
  23. var change=function(city){
  24. alert(city.text);
  25. }
  26. </script>
  27. </html>

示例:

70 2

四、DOM访问表格子元素的常用属性和方法如下:
























caption  返回表格的标题对象
rows  返回该表格里的所有表格行
tbodies  返回该表格里所有<tbody …/>元素组成的数组
tfoot  返回该表格里所有<tfoot…/>元素
thead  返回该表格里所有<thead../>元素

通过rows[index]返回表格指定的行所对应的属性:
















cells  返回该表格行内所有的单元格组成的数组
rowIndex  返回该表格行在表格内的索引值
sectionRowIndex  返回该表格行在其所在元素(tbody、thead等元素)的索引值

通过cells[index]返回表格指定的列对应的属性:








cellIndex  返回该单元格在表格行内的索引值

举例代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>查找表单控件</title>
  6. </head>
  7. <body>
  8. <table id="mytable" border="1">
  9. <caption>海通科技课程</caption>
  10. <tr>
  11. <td>C</td>
  12. <td>C++</td>
  13. </tr>
  14. <tr>
  15. <td>LSD</td>
  16. <td>ARM</td>
  17. </tr>
  18. <tr>
  19. <td>J2EE</td>
  20. <td>Android</td>
  21. </tr>
  22. </table>
  23. <input type="button" value="表格标题"
  24. οnclick="alert(document.getElementById('mytable').caption.innerHTML);">
  25. <input type="button" value="第一行、第一格"
  26. οnclick="alert(document.getElementById('mytable').rows[0].cells[0].innerHTML);">
  27. <input type="button" value="第二行、第二格"
  28. οnclick="alert(document.getElementById('mytable').rows[1].cells[1].innerHTML);">
  29. <input type="button" value="第三行、第一格"
  30. οnclick="alert(document.getElementById('mytable').rows[2].cells[0].innerHTML);"><br>
  31. 设置指定单元格的值:第<input type="text" id="row" size="2">行,
  32. <input type="text" id="cel" size="2">列的值为,
  33. <input type="text" id="course" size="10">
  34. <input type="button" id="btn_set" value="修改" οnclick="update()">
  35. </body>
  36. <script>
  37. function update(){
  38. var row=document.getElementById("row").value;
  39. var cell=document.getElementById("cel").value;
  40. var t=document.getElementById("mytable");
  41. // t.rows[row-1].cells[cell-1].innerHTML=document.getElementById('course').value;
  42. t.rows.item(row-1).cells.item(cell-1).innerHTML=document.getElementById('course').value;
  43. }
  44. </script>
  45. </html>

示例:

70 3

五、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  设置该选项是否被选中

添加创建好的选项至列表框或下拉菜单的方法:

直接为

发表评论

表情:
评论列表 (有 0 条评论,238人围观)

还没有评论,来说两句吧...

相关阅读

    相关 dom操作

    document代表整个文档 var div = document.getElementById(‘id名’);//返回是一个,不是数组 var div = docu

    相关 Javascript操作DOM常用API总结

    文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识。 基本概念