BOM

  1. <html>
  2. <head>
  3. <script>
  4. //1 window对象
  5. /*
  6. 1. 子对象
  7. document 返回该窗口的HTML文档
  8. location 返回HYML文档的URL
  9. navigtor 浏览器属性
  10. screen 屏幕对象
  11. history 浏览窗口历史
  12. 2. 方法
  13. alert() 警告窗口
  14. confirm() 确认窗口
  15. prompt() 提醒输入框
  16. open() 打开窗口
  17. close() 关闭窗口
  18. moveBy() 移动窗口
  19. moveTo() 移动窗口到
  20. resizeBy() 重设窗口大小
  21. resizeTo()
  22. scrollBy() 滚动Html文档
  23. scrollTo()
  24. setInterval() 设置定时器
  25. clearInterval() 删除定时器
  26. */
  27. function testConfirm(){
  28. var answer = window.confirm("Yes/No");
  29. if(answer){
  30. document.write("Yes");
  31. }else{
  32. document.write("No");
  33. }
  34. }
  35. function testPrompt(){
  36. var answer = window.prompt("2+3=?","5");
  37. }
  38. function testMoveBy(){
  39. window.moveBy(250,250);
  40. }
  41. function testMoveTo(){
  42. window.moveTo(250,250);
  43. }
  44. function testResizeBy(){
  45. window.resizeBy(250,250);
  46. }
  47. function testResizeTo(){
  48. window.resizeTo(250,250);
  49. }
  50. function haha(){
  51. document.getElementById("haha").innerHTML = "haha";
  52. }
  53. var t = window.setInterval("haha()",1000)
  54. </script>
  55. </head>
  56. <body>
  57. <input type="button" value="confirm" onclick="testConfirm()"/>
  58. <input type="button" value="prompt" onclick="testPrompt()"/>
  59. <input type="button" value="moveBy" onclick="testMoveBy()"/>
  60. <input type="button" value="moveTo" onclick="testMoveTo()"/>
  61. <input type="button" value="resizeBy" onclick="testResizeBy()"/>
  62. <input type="button" value="resizeTo" onclick="testResizeTo()"/>
  63. <div id = "haha">
  64. </div>
  65. </body>
  66. </html>
  1. <html>
  2. <head>
  3. <script>
  4. //2. history对象
  5. /*
  6. back() 后退
  7. forward() 前进
  8. go(inValue) 进退几个页面
  9. */
  10. </script>
  11. </head>
  12. <body>
  13. <a href="./02-1.html">jump to 1</a><br/>
  14. <a href="./02-2.html">jump to 2</a><br/>
  15. <h3>第0页</h3>
  16. <a href=javascript:history.forward()>forward</a><br/>
  17. <a href=javascript:history.back()>back</a>
  18. </body>
  19. </html>
  1. <html>
  2. <head>
  3. <script>
  4. //3. location对象
  5. /*
  6. hostname
  7. hert
  8. ...
  9. */
  10. //4. screen对象
  11. /*
  12. avaiHeight
  13. ...
  14. */
  15. //4. navigator对象
  16. /*
  17. appCodeName
  18. ...
  19. */
  20. </script>
  21. </head>
  22. </html>

DOM

杂记

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script>
  5. //1. insertAdjacentElement
  6. /*
  7. insertAdjacentHTML方法:在指定的地方插入html标签语句
  8. 原型:insertAdajcentHTML(swhere,stext)
  9. 参数:
  10. swhere: 指定插入html标签语句的地方,有四种值可用:
  11. 1. beforeBegin: 插入到标签开始前
  12. 2. afterBegin:插入到标签开始标记之后
  13. 3. beforeEnd:插入到标签结束标记前
  14. 4. afterEnd:插入到标签结束标记后
  15. stext:要插入的内容
  16. */
  17. var h1 = document.getElementsByTagName("h1");
  18. insertAdjacentElement()
  19. //insertAdjacentElement
  20. /*
  21.   语法:
  22.    oElement = object . insertAdjacentElement ( sWhere , oElement )
  23.   参数:
  24.   oElement : 必选项。对象(Element)。要插入到 object 邻近的对象。
  25.   sWhere : 必选项。字符串(String)。
  26. beforeBegin : 将 oElement 插到 object 的开始标签之前。
  27.   afterBegin : 将 oElement 插到 object 的开始标签之后。但是在 object 的所有原有内容之前。
  28.   beforeEnd : 将 oElement 插到 object 的结束标签之前。但是在 object 的所有原有内容之后。
  29.   afterEnd : 将 oElement 插到 object 的结束标签之后。
  30.   返回值:
  31.    oElement : 对象(Element)。返回插入的对象的引用。
  32.   说明:
  33.   将 oElement 依据 object 定位插入文档结构。
  34.   当文档正在载入时,不可以尝试此方法。必须在 onload 事件触发以后。
  35.   假如你尝试插入一个已经在文档结构中存在定位的对象,该对象将被移动到你指定的插入位置,而不会有新对象被创建。
  36. */
  37. </script>
  38. </head>
  39. <h1>hahaha</h1>
  40. <SCRIPT>
  41. function fnAdd()
  42. {
  43. var oNewItem = document.createElement("LI");
  44. oList.children(0).insertAdjacentElement("BeforeBegin",oNewItem);
  45. oNewItem.innerText = "List Item 0";
  46. }
  47. </SCRIPT>
  48. :
  49. <BODY>
  50. <OL ID = "oList">
  51. <LI>List Item 1</LI>
  52. <LI>List Item 2</LI>
  53. <LI>List Item 3</LI>
  54. </OL>
  55. <INPUT TYPE = "button" VALUE = "Add Item" onclick="fnAdd()">
  56. </BODY>
  57. </html>

01 节点访问操作

  1. <html>
  2. <head>
  3. <script>
  4. /**
  5. * 节点:
  6. * 1.元素节点
  7. * 2.文本节点
  8. * 3.属性节点
  9. */
  10. //----------------------------------------------------------------
  11. /*
  12. 访问操作:
  13. 1. 由ID找节点 getElementById
  14. 2. 由节点关系
  15. parentNode 返回当前节点的父节点
  16. previousSibling 前兄弟节点
  17. nextSibling 后兄弟节点
  18. childNodes 所有子节点
  19. firstChild 第一个子节点
  20. lastChild 最后一个子节点
  21. getElementByTagName(tagName) 具有指点标签名的所有子节点
  22. */
  23. //-----------------------------------------------------------------
  24. function one(){
  25. var s1,s2,s3;
  26. with(document){
  27. s1 = getElementById("n1");
  28. s2 = getElementById("n2");
  29. s3 = getElementById("n3");
  30. }
  31. alert(s1.innerHTML+"\n"+s2.innerHTML+"\n"+s3.innerHTML);
  32. }
  33. </script>
  34. </head>
  35. <body>
  36. <div id = "n1">1111111</div>
  37. <div id = "n2">2222222</div>
  38. <div id="n3">3333333</div>
  39. <input type="button" onclick="one()" value="button"/>
  40. <hr/>
  41. <ul id = "name">
  42. <li id = "l1">aaaaa</li>
  43. <li id="l2">bbbbb</li>
  44. <li id="l3">ccccc</li>
  45. </ul>
  46. <!--
  47. 谷歌浏览器,火狐浏览器会将标签后的换行当成一个节点,所以下面需要 val.previousSibling.previousSibling
  48. -->
  49. <input type="button" value = "父节点" onclick="two(val.parentNode)"/>
  50. <input type="button" value = "前兄弟节点" onclick="two(val.previousSibling.previousSibling)"/>
  51. <input type="button" value = "后兄弟节点" onclick="two(val.nextSibling.nextSibling)"/>
  52. <script>
  53. var val =document.getElementById("l2");
  54. function two(target){
  55. alert(target.innerHTML);
  56. }
  57. </script>
  58. </body>
  59. </html>

02 表单访问操作

  1. <html>
  2. <head>
  3. <script>
  4. /* 表单控件
  5. action 返回该表单的提交地址
  6. elements 全部表单控件所组成的数组
  7. {
  8. .elements[index] 返回表单中第index个表单控件
  9. .elements[elementName] 返回表单内ID或name为elementsName的表单控件
  10. .elementsName 返回表单内ID或name为elementsName的表单控件
  11. }
  12. length 表单域个数
  13. method 返回表单的method属性(get/post)
  14. target 结果窗口(_self/-blank/_top)
  15. reset/submit 重置/确定表单
  16. */
  17. function operatorForm(){
  18. var myform = document.forms[0]; //获取第一个表单
  19. //alert(myform.action);
  20. myform.reset();
  21. }
  22. </script>
  23. </head>
  24. <body>
  25. <form id="myform" action="./01 访问操作.html" method="GET" target="_blank">
  26. <input type="text" value="haha" name="haha"/>
  27. <input type="text" value="hehe" name="hehe"/>
  28. <input type="text" value="enen" name="enen"/>
  29. </form>
  30. <input type="button" value="one" onclick="alert(document.getElementById('myform').elements[0].value)"/>
  31. <input type="button" value="two" onclick="alert(document.getElementById('myform').elements['hehe'].value)"/>
  32. <input type="button" value="cheek" onclick="operatorForm()"/>
  33. <br/><br/>
  34. <hr/>
  35. </body>
  36. </html>

03 列表框,访问操作

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <select id="city" name="city" size="5">
  6. <option value="beijing">北京</option>
  7. <!--默认被选中-->
  8. <option value="shanghai" selected ="selected">上海</option>
  9. <option value="guangzhou">广州</option>
  10. <option value="wuhan">武汉</option>
  11. </select><br/>
  12. <input type="button" onclick="change(s_city.options[0])" value="第一个城市"/>
  13. <input type="button" onclick="change(s_city.options[s_city.selectedIndex-1])" value="上一个城市"/>
  14. <input type="button" onclick="change(s_city.options[s_city.selectedIndex+1])" value="下一个城市"/>
  15. <script>
  16. /* 列表框,下拉菜单
  17. form 返回列表框,下拉菜单所在的表单对象
  18. length 选项个数
  19. options[] 所有选项组成的数组
  20. {
  21. defaultSelected 返回是否默认被选中
  22. index 返回该选项在列表中的索引
  23. selected 返回该选项是否被选中
  24. text 返回该选项呈现的文本
  25. value 返回该选项的value属性值
  26. }
  27. selectedIndex 选项的索引
  28. type 返回下拉列表类型,多选:select-multiple;单选:select-one
  29. */
  30. var s_city = document.getElementById("city");
  31. var change = function(city){
  32. alert(city.value);
  33. }
  34. //------------------------------------------------------------------------
  35. /* 表格
  36. caption 返回表格的标题对象
  37. rows 所有表格行
  38. {
  39. cells 返回该表格内所有单元格组成的数组
  40. cells[index] 单元格在表格内的索引
  41. rowIndex 表格行在表格内的索引
  42. sectionRowIndex 返回该表格行在其所在元素的索引值
  43. }
  44. tbodies 所有<tbody>组成的数组
  45. tfoot 所有<tfoot>元素
  46. thead 所有<thead>元素
  47. */
  48. </script>
  49. </html>

04 表格访问操作

  1. <html>
  2. <head>
  3. <body>
  4. <script>
  5. //------------------------------------------------------------------------
  6. /* 表格
  7. caption 返回表格的标题对象
  8. rows 所有表格行
  9. {
  10. cells 返回该表格内所有单元格组成的数组
  11. cells[index] 单元格在表格内的索引
  12. rowIndex 表格行在表格内的索引
  13. sectionRowIndex 返回该表格行在其所在元素的索引值
  14. }
  15. tbodies 所有<tbody>组成的数组
  16. tfoot 所有<tfoot>元素
  17. thead 所有<thead>元素
  18. */
  19. </script>
  20. <br/><br/><hr/>
  21. <table id="mytable" border="1">
  22. <caption>表格标题</caption>
  23. <tr>
  24. <td>C</td>
  25. <td>C++</td>
  26. </tr>
  27. <tr>
  28. <td>java</td>
  29. <td>android</td>
  30. </tr>
  31. <tr>
  32. <td>PHP</td>
  33. <td>Python</td>
  34. </tr>
  35. </table>
  36. </body>
  37. <input type="button" value="标题" onclick="alert(document.getElementById('mytable').caption.innerHTML);"/>
  38. <input type="button" value="第一行第一个" onclick="alert(document.getElementById('mytable').rows[0].cells[0].innerHTML);"/>
  39. <input type="button" value="第二行第二个" onclick="alert(document.getElementById('mytable').rows[1].cells[1].innerHTML);"/><br/>
  40. 修改第<input type="text" id="row" size="2"/>行,第<input type="text" id="cel" size="2"/>列的值为<input type="text" id="course" size="5"/>
  41. <input type="button" id="btn_set" value="修改" onclick="changeTable()"/>
  42. <script>
  43. function changeTable(){
  44. var raw = document.getElementById("row").value;
  45. var cel = document.getElementById("cel").value;
  46. var temp = document.getElementById("mytable");
  47. //temp.rows[raw-1].cells[cel-1].innerHTML = document.getElementById("course").value;
  48. //也可以通过item方式访问
  49. temp.rows.item(raw-1).cells.item(cel-1).innerHTML = document.getElementById("course").value;
  50. }
  51. </script>
  52. </html>

05 节点增删改操作

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script>
  5. //
  6. /*
  7. 创建节点
  8. document.creatElement(Tag);
  9. 复制节点
  10. document.cloneNode(boolean deep) deep为true时复制当前节点以及所有后代节点,为false时仅仅复制当前节点
  11. 增删节点
  12. appendChild(newNode) 将newNode添加为当前节点的最后一个子节点
  13. insetBefore(newNode,refNode) 在refNode节点前插入newNode节点
  14. replaceChild(newNode,oldNode) 将oldNode替换成newNode节点
  15. removeChild(oldNode) 将oldNode子节点删除
  16. */
  17. function creat(){
  18. var city = document.getElementById("list");
  19. var element = document.createElement("li");
  20. city.appendChild(element);
  21. // element.innerHT
  22. }
  23. function copy(){
  24. var city = document.getElementById("list");
  25. var element = city.firstChild.nextSibling.cloneNode(true);
  26. city.appendChild(element);
  27. }
  28. function del(){
  29. var city = document.getElementById("list");
  30. var element = city.firstChild.nextSibling;
  31. city.removeChild(element);
  32. }
  33. </script>
  34. </head>
  35. <Body>
  36. <ul id="list">
  37. <li>上海</li>
  38. <li>北京</li>
  39. </ul>
  40. <input type="button" value="创建" onclick="creat()"/>
  41. <input type="button" value="复制" onclick="copy()"/>
  42. <input type="button" value="删除" onclick="del()"/>
  43. <input type="button" value="插入"/>
  44. <input type="button" value="替换"/>
  45. </Body>
  46. </html>

06 列表框增删改操作

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script>
  5. /* 对列表框,下拉菜单添加选项
  6. 1.创建对象
  7. new Option(text,value,defaultSelected,selected)
  8. 参数不需要全写
  9. 2.将对象添加到列表框或下拉菜单
  10. 列表框/下拉菜单对象.option[i]=创建好的option对象
  11. 删除列表框对象:
  12. 列表框/下拉菜单对象.remove(index) 或 对象.option[index]=null
  13. */
  14. function creatSelect(){
  15. var element = document.createElement("select");
  16. for(var i= 0;i<10;i++){
  17. var op = new Option("new"+i,i);
  18. element.options[i] = op;
  19. }
  20. element.size = 5;
  21. element.id = "city";
  22. document.getElementById("begin").appendChild(element);
  23. }
  24. function delSelect(){
  25. var city = document.getElementById("city");
  26. if(city.options.length>0)
  27. //city.remove(city.options.length-1);
  28. city.options[city.options.length-1] = null;
  29. }
  30. </script>
  31. <br/><br/>
  32. <hr/>
  33. <div id="begin" style="width:60px; height:90px;background-color: aqua"></div>
  34. <input type = "button" onclick="creatSelect()" value="创建"/>
  35. <input type="button" onclick="delSelect()" value = "删除"/>
  36. </Body>
  37. </html>

07 表格增删改操作

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. </head>
  5. <body id="test">
  6. <input type="button" value="创建" onclick="creatTable()"/>
  7. <input type="button" value="删除最后行" onclick="deleteTable()"/>
  8. <input type="button" value="删除最后单元格" onclick="deleteCell()"/>
  9. <script>
  10. /*
  11. 1.增删表格内容
  12. insertRow(index) 在索引位置插入下一行
  13. createCaption() 为表格创建标题
  14. createTFoot() 为该表格创建<tfoot.../>
  15. createTHead() 为该表格创建<thead.../>
  16. deleteRow(index) 删除index行
  17. deleteCatption() 删除表格标题
  18. deleteTFoot() 删除表格<tfoot>元素
  19. deleteTHead() 删除表格<THead>元素
  20. 2.增删单元格
  21. insertCell(index) 在index处插入一个单元格并返回
  22. deleteCell(index) 删除index处单元格
  23. */
  24. function creatTable(){
  25. with(document){
  26. var b = getElementById("test");
  27. var t = createElement("table");
  28. t.border = "1";
  29. t.id = "mytable";
  30. var caption = t.createCaption();
  31. caption.innerHTML = "我的表格";
  32. for(var i= 0;i<5;i++){
  33. var tr = t.insertRow(i);
  34. for(var j = 0;j<4;j++){
  35. var td = tr.insertCell(j);
  36. td.innerHTML = "单元格"+i+j;
  37. }
  38. b.appendChild(t);
  39. }
  40. }
  41. }
  42. function deleteTable(){
  43. var t = document.getElementById("mytable");
  44. if(t.rows.length-1)
  45. t.deleteRow(t.rows.length-1);
  46. }
  47. function deleteCell(){
  48. var t = document.getElementById("mytable");
  49. var lastRow = t.rows[t.rows.length-1];
  50. if(lastRow.cells.length>0){
  51. lastRow.deleteCell(lastRow.cells.length-1);
  52. }
  53. }
  54. </script>
  55. </body>
  56. </html>