javascript基础操作

  1. 一、js的事件处理机制及dom模型   
  2.   
  3.     1、js的数据验证   
  4.   
  5.     2、dom模型:   
  6.   
  7.         (1)什么是dom?   
  8.   
  9.          document object model,将一个结构化的文档(比如   
  10.   
  11.          xml,html)转化为一棵符合dom要求的树。通过对树的   
  12.   
  13.          操作(crud),来间接实现对结构化文档的操作。   
  14.   
  15.         (2)浏览器如何显示html文档   
  16.   
  17.             浏览器读取html文档,将其转化为w3c dom树(即   
  18.   
  19.             一棵对象树)放在内存里。如果dom树的节点发生任   
  20.   
  21.             何改变,浏览器就会立即显示这种改变。对w3c dom   
  22.   
  23.             树,我们可以使用js来操控。   
  24.   
  25.         (3) w3c dom的结构   
  26.   
  27.             A.继承关系图   
  28.   
  29.                 除了Node,Document,Element,HTMLElement   
  30.   
  31.                 这四个节点以外,其它节点都与html文档中的   
  32.   
  33.                 元素一一对应。   
  34.   
  35.                 Node    
  36.   
  37.                     Document   
  38.   
  39.                         HTMLDocument(代表整个html文档)   
  40.   
  41.                             HTMLBodyElement(body)   
  42.   
  43.                     Element   
  44.   
  45.                         HTMLElement   
  46.   
  47.                             HTMLFormElement(form)   
  48.   
  49.                                 HTMLInputElement(input控件,包括 text password button checkbox radio ...)   
  50.   
  51.                                 HTMLSelectElement (下拉列表、多选框)   
  52.   
  53.                                     HTMLOptionElement (option)   
  54.   
  55.                             HTMLDivElement (div)   
  56.   
  57.                             HTMLTableElement(表格)   
  58.   
  59.                                 HTMLTableCaptionElement (caption)   
  60.   
  61.                                 HTMLTableRowElement(行)   
  62.   
  63.                                 HTMLTableCellElement(单元格)   
  64.   
  65.                                 HTMLULElement   
  66.   
  67.                                 HTMLOLElement   
  68.   
  69.                                 HTMLLIElement   
  70.   
  71.             B.如何访问某个节点   
  72.   
  73.                 方式一:document.getElementById(id);   
  74.   
  75.                 依据标记的id查找。   
  76.   
  77.                 方式二:parentNode previousSibling nextSibling    
  78.   
  79.                 childNodes firstChild lastChild   
  80.   
  81.                 因为不同浏览器对dom模型中的空节点支持不一,   
  82.   
  83.                 所以,以上方法用得不多,尽量使用方式一。   
  84.   
  85.                 getElementsByTagName(tagName):   
  86.   
  87.                 依据标签名查找,返回的是一个HTMLCollection。   
  88.   
  89.                 对于某些节点,可以采用特殊的方式来访问   
  90.   
  91.                 Form:   
  92.   
  93.                     elements属性值是一个HTMLCollection   
  94.   
  95.                     HTMLCollection可以采用如下两种方式访问   
  96.   
  97.                         form1.elements[0] : 第一个控件   
  98.   
  99.                         form1.elements['id'/name]:  得到的是   
  100.   
  101.                         该表单中id或者name对应的控件   
  102.   
  103.                     elements属性也可以省略不写   
  104.   
  105.                 document:   
  106.   
  107.                     forms属性值是一个HTMLCollection   
  108.   
  109.                     返回当前html文档里的所有表单对象。   
  110.   
  111.                 C.修改节点   
  112.   
  113.                     1)value属性   
  114.   
  115.                     2)innerHTML属性   
  116.   
  117.                     3)style属性   
  118.   
  119.                         对于某个节点,可以通过修改其style属性,   
  120.   
  121.                         来改变其样式。   
  122.   
  123.                         style属性只能获得内联样式。   
  124.   
  125.                     4)className   
  126.   
  127.                     5)src属性   
  128.   
  129.                     6)options属性(Select)   
  130.   
  131.                 D、添加节点   
  132.   
  133.                         创建节点   
  134.   
  135.                         document.createElement(Tag)   
  136.   
  137.                         tag:是一个合法的标签名,   
  138.   
  139.                         比如 document.createElement('div');   
  140.   
  141.                         document.createTextNode(text)   
  142.   
  143.                         创建一个字符节点   
  144.   
  145.                         <div>hello</div>   
  146.   
  147.                         添加节点       
  148.   
  149.                             appendChild(node):添加到父节点的   
  150.   
  151.                             所有子节点的末尾。   
  152.   
  153.                             insertBefore(newNode,refNode):   
  154.   
  155.                             将newNode添加到refNode前   
  156.   
  157.                             replaceChild(newNode,oldNode):   
  158.   
  159.                     E、删除节点   
  160.   
  161.                             parentNode.removeChild(node)   
  162.   
  163.                                
  164.   
  165.         3、使用js改变html两个元素的默认行为   
  166.   
  167.                 对于<form>,默认是当点击 submit按钮,   
  168.   
  169.                 浏览器会提交该表单的数据。   
  170.   
  171.                 对于<a href="">test</a>,默认是,当点击链接   
  172.   
  173.                 之间的内容时,浏览器会跳转到href所指向的地址。   
  174.   
  175.                 改变方式:   
  176.   
  177.                 对于表单:如果onsubmit返回值是false,则表单   
  178.   
  179.                 不会提交。   
  180.   
  181.                 <form οnsubmit="return false;">   
  182.   
  183.                 ....   
  184.   
  185.                  对于链接   
  186.   
  187.                  <a href="" οnclick="return false;">test</a>   
  188.   
  189.         4、Select的常用属性和方法   
  190.   
  191.             length   
  192.   
  193.         l       length 属性可返回下拉列表中选项的数目。   
  194.   
  195.             selectedIndex   
  196.   
  197.                 selectedIndex 属性可设置或返回下拉列表中被选选项的索引号   
  198.   
  199.             options   
  200.   
  201.                 返回包含 <select> 元素中所有 <option> 的一个数组。   
  202.   
  203.                 如果把 options.length 属性设置为 0,Select 对象中   
  204.   
  205.                 所有选项都会被清除;    
  206.   
  207.                 如果 options.length 属性的值比当前值小,出现   
  208.   
  209.                 在数组尾部的元素就会被丢弃。;   
  210.   
  211.                 如果把 options[] 数组中的一个元素设置为 null,   
  212.   
  213.                 那么选项就会从 Select 对象中删除.   
  214.   
  215.             onchange   
  216.   
  217.                 当改变选择时调用。   
  218.   
  219.             Option 对象的 selected 属性   
  220.   
  221.                 true:表示该选项被用户选择了。   
  222.   
  223.                 false:没有被选择   
  224.   
  225.                 默认值是false,除非用户选择了该选项。   
  226.   
  227.                 浏览器只会提交seleccted=true对应的选项。   
  228.   
  229.             Option对象表示Select中的某个选项,   
  230.   
  231.             text:   
  232.   
  233.             value:   
  234.   
  235.             可以使用如下语句创建一个Option   
  236.   
  237.             var op1 = new Option(text,value);   
  238.   
  239.             select.options[1] = op1;   
  240.   
  241.     5、表格的常用属性与方法   
  242.   
  243.             属性   
  244.   
  245.                 rows 属性   
  246.   
  247.                 rows 集合返回表格中所有行的一个数组,该集合   
  248.   
  249.                 包括 <thead>、<tfoot> 和 <tbody> 中定义的所有行。   
  250.   
  251.                 tBodies属性   
  252.   
  253.                 tBodies[] 返回包含表格中所有 tbody 的一个数组。   
  254.   
  255.                 tFoot属性   
  256.   
  257.                 返回表格的 TFoot 对象。   
  258.   
  259.                 tHead属性   
  260.   
  261.                 返回表格的 THead 对象。   
  262.   
  263.         方法   
  264.   
  265.                 insertRow(index)   
  266.   
  267.                 insertRow(index) 方法用于在表格中的   
  268.   
  269.                 指定位置插入一个新行。   
  270.   
  271.                 返回一个 HTMLRowElement,表示新插入的行。   
  272.   
  273.                 相当于创建了一个新的 <tr> 标记,并把它插入   
  274.   
  275.                 表中的指定位置。   
  276.   
  277.                 新行将被插入 index 所在行之前。若 index    
  278.   
  279.                 等于表中的行数,则新行将被附加到表的末尾。   
  280.   
  281.             deleteRow(index)方法   
  282.   
  283.                 deleteRow(index) 方法用于从表格删除指定位置的行。   
  284.   
  285.     HTMLRowElement对象   
  286.   
  287.         属性   
  288.   
  289.         cells   
  290.   
  291.         cells[] 返回包含行中所有单元格的一个数组   
  292.   
  293.         方法   
  294.   
  295.             deleteCell方法   
  296.   
  297.         deleteCell(index) 方法用于删除表格行中的单元格   
  298.   
  299.         insertCell(index)方法   
  300.   
  301.         insertCell(index) 方法用于在 HTML 表的一行的   
  302.   
  303.         指定位置插入一个空的 <td> 元素。   
  304.   
  305.         返回值一个 HTMLCellElement对象,表示新创建   
  306.   
  307.         并被插入的 <td> 元素。该方法将创建一个新的   
  308.   
  309.          <td> 元素,把它插入行中指定的位置。新单元格   
  310.   
  311.         将被插入当前位于 index 指定位置的表元之前。   
  312.   
  313.         如果 index 等于行中的单元格数,则新单元格被   
  314.   
  315.         附加在行的末尾。后续可以调用TableCell的   
  316.   
  317.         innerHTML属性指定单元格中的内容.   
  318.   
  319.     6、传统的html dom模型:   
  320.   
  321.         1)window   
  322.   
  323.         open方法   
  324.   
  325.         第二个参数表示窗口名,如果该窗口名对应的窗口   
  326.   
  327.         已经打开,则不再打开新的窗口。   
  328.   
  329.         打开一个新的窗口,例如:   
  330.   
  331.         window.open   
  332.   
  333.         ('1.html''new', 'height=100, width=200, top=0,    
  334.   
  335.         left=0, toolbar=no, menubar=no,scrollbars=no,    
  336.   
  337.         resizable=no, location=no, status=no');   
  338.   
  339.         '1.html' 弹出窗口的文件名;   
  340.   
  341.         'new' 弹出窗口的名字;如果该参数指定了一个已经存在的窗口,则 open() 方法不再创建一个新窗口,而只是返回对指定窗口的句柄。   
  342.   
  343.         height=100 窗口高度;   
  344.   
  345.         width=200 窗口宽度;   
  346.   
  347.         top=0 窗口距离屏幕上方的象素值;   
  348.   
  349.         left=0 窗口距离屏幕左侧的象素值;   
  350.   
  351.         toolbar=no 是否显示工具栏,yes为显示;   
  352.   
  353.         menubar 是否显示菜单栏。   
  354.   
  355.         scrollbars 是否显示滚动栏。   
  356.   
  357.         resizable=no 是否允许改变窗口大小,yes为是 。   
  358.   
  359.         location=no 是否显示地址栏,yes为是。   
  360.   
  361.         status=no 是否显示状态栏内的信息。   
  362.   
  363.     close方法   
  364.   
  365.         关闭窗口   
  366.   
  367.         返回值为窗口对象句柄   
  368.   
  369.     status 属性   
  370.   
  371.         设置或返回窗口状态栏中的文本。   
  372.   
  373.     document属性   
  374.   
  375.         获得Document对象   
  376.   
  377.     location属性   
  378.   
  379.         获得Location对象   
  380.   
  381.     alert方法   
  382.   
  383.         弹出一个警告对话框   
  384.   
  385.     confirm方法   
  386.   
  387.         弹出一个选择对话框,返回用户是否确认。   
  388.   
  389.     prompt方法   
  390.   
  391.         弹出一个供用户输入信息的对话框,返回用户   
  392.   
  393.         输入信息。   
  394.   
  395.     setTimeout方法   
  396.   
  397.         setTimeout() 方法用于在指定的毫秒数后   
  398.   
  399.         调用函数或计算表达式。   
  400.   
  401.     clearTimeout方法   
  402.   
  403.         clearTimeout() 方法可取消由 setTimeout() 方法   
  404.   
  405.         设置的 timeout。   
  406.   
  407.     setInterval方法   
  408.   
  409.         按照指定的周期(以毫秒计)来调用函数或   
  410.   
  411.         计算表达式。   
  412.   
  413.     setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval()    
  414.   
  415.     返回的 ID 值可用作 clearInterval() 方法的参数。   
  416.   
  417.     clearInterval方法   
  418.   
  419.         clearInterval() 方法可取消由 setInterval()    
  420.   
  421.         设置的 timeout。   
  422.   
  423.         clearInterval() 方法的参数必须是由 setInterval() 返回的 ID   
  424.   
  425.     opener:   
  426.   
  427.         打开该窗口的窗口对象,如果窗口由   
  428.   
  429.         用户打开,则返回null  
  430.   
  431.     parent:   
  432.   
  433.         当前窗口的父窗口   
  434.   
  435.   
  436.   
  437.    7、事件处理机制   
  438.   
  439.         (1)事件对象   
  440.   
  441.         如何获得一个事件对象   
  442.   
  443.         ie:   
  444.   
  445.             直接使用event对象   
  446.   
  447.         ff:   
  448.   
  449.             函数中添加一个参数(event)   
  450.   
  451.         (2)如何通过事件对象获得事件源   
  452.   
  453.         ie:   
  454.   
  455.             srcElement属性   
  456.   
  457.         ff:   
  458.   
  459.             target属性   
  460.   
  461.         (3)事件冒泡机制   
  462.   
  463.             子节点产生的事件会向上抛给父节点   
  464.   
  465.             禁止事件冒泡   
  466.   
  467.                 e.cancelBubble=true;       
  468.   
  469.         (4)事件处理代码绑订的方式   
  470.   
  471.             A.绑订到html元素之上。   
  472.   
  473.             B.绑订到dom对象之上。   
  474.   
  475.             A与B的区别   
  476.   
  477.                 B这种方式不能传参      
  478.   
  479.  8、js框架   
  480.   
  481.         prototype   
  482.   
  483.         $('id') 相当于  document.getElementById('id');   
  484.   
  485.         $F('id'); 相当于     
  486.   
  487.         document.getElementById('id').value;   
  488.   
  489.         $('id1','id2','id3')  返回一个数组   
  490.   
  491.  9、两个内置对象   
  492.   
  493.         Date   
  494.   
  495.         Math 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值