小知识点注:外面双引号,里面的双引号改为单引号;

                 在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中

                 文本框取出来的值是字符串,需要用parseint()转化为数字

Window.document对象

一、找到元素:

docunment.getElementById("id");根据id找,最多找一个;
    var a =docunment.getElementById("id");将找到的元素放在变量中;

docunment.getElementByName("name");根据name找,找出来的是数组;//可利用数组特性取值,赋值
    docunment.getElementByTagName("name");根据标签名找,找出来的是数组;//可利用数组特性取值,赋值
    docunment.getElementByClassName("name") 根据classname找,找出来的是数组;(调用的时候与数组方式相同a[0]表示第一个)

二、操作内容:

 1. 非表单元素:

1)获取内容:

alert(a.innerHTML);标签里的html代码和文字都获取了

如:body中有这么一个div:

  1. <div id="me"><b>试试吧</b></div>

在script中用innerHTML获取div中的内容:

  1.     var a= document.getElementById("me");
  1.     alert(a.innerHTML);

结果如下图:

alert(a.innerText);只取里面的文字
    alert(a.outHTML);包括标签本身的内容(简单了解)

2)设置内容:

a.innerHTML = "<font color=red >hello world </font>";

如果用设置内容代码结果如下,div中的内容被替换了:

a.innerText会将赋的东西原样呈现

清空内容:赋值个空字符串

2. 表单元素:

1)获取内容,有两种获取方式:

a、(单标签<input/> )

var t = document.f1.t1; form表单ID为f1里面的ID为t1的input;
 var t = document.getElementById("id"); 直接用ID获取。

alert(t.value); 获取input中的value值;

b、<textarea> 这里的值 </textarea>
    alert(t.innerHTML); 获取<textarea> 这里的值 </textarea>;//与非表单元素获取方式相同

c、<onselect><onselect>

2)设置内容: t.value="内容改变";

3. 一个小知识点:

<a href="www.baidu.com" onclick ="return flase">转向百度</a> ;加了return flase则不会跳转,默认是return true会跳转。按钮也一样,如果按钮中设置return flase 则不会进行提交,利用这个可以对提交跳转进行控制。

三、操作属性

首先利用元素的ID找到该元素,存于一个变量中:

var a = document.getElementById("id");

然后可以对该元素的属性进行操作:

a.setAttribute("属性名","属性值"); 设置一个属性,添加或更改都可以;

a.getAttribute("属性名");获取属性的值;

a.removeAttribute("属性名");移除一个属性。

例子1:做一个问题,如果输入的答案正确则弹出正确,错误弹出错误;

这里在text里面写了一个daan属性,里面存了答案的值,点击检查答案的时候cheak输入的内容和答案是否一样:

回答正确时的结果:

例子2: 同意按钮,倒计时10秒,同意按钮变为可提交的,这里用了操作属性:disable,来改变按钮的状态,当disable=”disable”时按钮不可用。

  1. 1 body中的代码:
  2. 2
  3. 3 <form><input type="submit" id="b1" name="b1" value="同意(9)" disabled="disabled" /></form>
  4. 4 JS中的代码:
  5. 5
  6. 6 var n=10;var a= document.getElementById("b1");function bian()
  7. 7 {
  8. 8 n--;
  9. 9 if(n==0)
  10. 10 {
  11. 11 a.removeAttribute("disabled");
  12. 12 a.value="同意";
  13. 13 return;
  14. 14 }
  15. 15 else
  16. 16 {
  17. 17 a.value= "同意("+n+")";
  18. 18 window.setTimeout("bian()",1000);
  19. 19 }
  20. 20 }
  21. 21 window.setTimeout("bian()",1000);

运行的结果:

四、操作样式

首先利用元素的ID找到该元素,存于一个变量中:

var a = document.getElementById("id");

然后可以对该元素的属性进行操作:

a.style.样式="" ; 操作此ID样式的属性。

样式为CSS中的样式,所有的样式都可以用代码进行操作。

document.body.stye.backgroundColor="颜色"; 整个窗口的背景色。

操作样式的class:a.className="样式表中的classname" 操作一批样式

例子1:展示图片的自动和手动切换;

  1. Body中的代码,做一个有背景图片的div和两侧的控制对象:
  2.  
  3. </div>
  4. <div id="tuijian" style=" background-image:url(imges/tj1.jpg);">
  5. <div class="pages" id="p1" onclick="dodo(-1)"></div>
  6. <div class="pages" id="p2" onclick="dodo(1)"></div>
  7. </div>
  8. 样式表中的代码:
  9.  
  10. <style type="text/css">
  11. *{
  12. margin:0px auto;
  13. padding:0px;
  14. font-family:"微软雅黑";
  15. }
  16.  
  17. #tuijian
  18. {
  19.  
  20. width:760px;
  21. height:350px;
  22. background-repeat:no-repeat;
  23. }
  24.  
  25. .pages
  26. {
  27. top:200px;
  28. background-color:#000;
  29. background-position:center;
  30. background-repeat:no-repeat;
  31. opacity: 0.4;
  32. width: 30px;
  33. height:60px;
  34. }
  35.  
  36. #p1
  37. {
  38.  
  39. background-image:url(imges/prev.png);
  40. float:left;
  41. margin:150px 0px 0px 10px;
  42. }
  43. #p2{
  44. background-image:url(imges/next.png);
  45. float:right;
  46. margin:150px 10px 0px 0px;
  47. }
  48. </style>
  49. JS中的代码,这里主要是每隔3秒中调用一下huan()函数,来将背景图片的样式修改,在点击左右切换的时候变为手动切换,自动切换停止:
  50.  
  51. <script language="javascript">var jpg =new Array();
  52. jpg[0]="url(imges/tj1.jpg)";
  53. jpg[1]="url(imges/tj2.jpg)";
  54. jpg[2]="url(imges/tj3.jpg)";var tjimg = document.getElementById("tuijian");var xb=0;var n=0;
  55. function huan()
  56. {
  57. xb++;
  58. if(xb == jpg.length)
  59. {
  60. xb=0;
  61. }
  62.  
  63. tjimg.style.backgroundImage=jpg[xb];
  64. if(n==0)
  65. {
  66. var id = window.setTimeout("huan()",3000);
  67. }
  68.  
  69. }function dodo(m)
  70. {
  71. n=1;
  72. xb = xb+m;
  73. if(xb < 0)
  74. {
  75. xb = jpg.length-1;
  76. }
  77. else if(xb >= jpg.length)
  78. {
  79. xb = 0;
  80. }
  81. tjimg.style.backgroundImage=jpg[xb];
  82. }
  83. window.setTimeout("huan()",3000);</script>

效果如下

5.相关元素操作

var a=document.getElementById(“id”);找到a

var b=a.nextSibling;     找a的下一个同辈元素,注意包含空格;

var b=a.previousSibling,找a的上一个同辈元素,注意包含空格;

var b=a.parentNode,找a的上一个父级元素;

var b=a.childNodes;     找出来的是数组,找a的下一级子元素;

var b=a.firstChild;    第一个子元素,lastChild最后一个,childNodes[n]找第几个

alert(nodes[i] instanceof Text);判断是不是文本,是则返回true,不是返回false,用if判断它的值是不是false,可以去除空格。

6.元素的创建、添加、删除:

var a=document.getElementById(“id”);找到a;

创建:var obj=document.createElement(“标签名“);创建一个元素

obj.innerHTML=”hello world”;添加的时候首先需要创建出一个元素。

添加:a.appendChild(obj);向a中添加一个子元素。

a.removeChild(obj);删除一个子元素。

列表中a.selectIndex:选中的是第几个;a.options[a.selectIndex]按下标取出第几个option对象

7.字符串的操作

var s=new String();或var s=”aaaa”;

var s=”hello world”;

alert(s.toLowerCase());转小写      toUpperCase()转大写

alert(s.substring(3,8));从第三个位置截取到第八个位置

alert(s.substr(3,8));从第三个位置开始截取,截取八个字符长度,不写后面的数字是截到最后。

s.split(‘’);将字符串按照指定的字符拆开

s.length是属性

s.indexOf(“wordl”);world在字符串中第一次出现的位置,没有返回-1

s.lastIndexOf(“o”);o在字符串最后一次出现的位置

8.日期时间的操作

var d=new Date();当前时间

var d=new Date(1999,3,2);定义一个时间,1999年4月2日,3要加1

d.getFullYear:取年份;d.getMonth():取月份,取出来的少1;d.getDate():取天;d.getDay();取星期几

d.getHours():取小时;d.getMinutes();取分钟;d.getSecond();取秒;d.setFullYear():设置年份,设置月份的时候注意加1。

9.数学函数的操作

Math.ceil();大于当前小数的最小整数

Math.floor();小于当前小数的最大整数

Math.sqrt();开平方

Math.round();四舍五入

Math.random();随机数,0-1之间

小知识点:外面双引号,里面的双引号改为单引号;

在div里面行高设置和整个外面高度一样,才能用数值居中,居中是行居中。

文本框取出来的值是字符串,需要用parseint()转化为数字

s.match(reg);s代表一个字符串,reg代表一个字符串,两者进行匹配,如果两个字符串不匹配,返回一个null。

四、表单验证和事件

㈠表单验证

1.非空验证(去空格)

2.对比验证(跟一个值对比)

3.范围验证(根据一个范围进行判断)

4.固定格式验证:电话号码,身份证号,邮箱,信用卡号等的验证;需要用到正则表达式来进行验证。

5.其它验证

㈡正则表达式

用符号来描述书写规则:/中间写正则表达式/

^:匹配开头,$:匹配结尾;/^e/以ve开头的/ve$/以ve结尾

\d:一个任意的数字

\w:一个任意的数字或字母

\s:任意字符串

{n}:把左边的表达式重复n遍

{m,n}:把左边的表达式重复至少m遍,至多n遍

{m,}把左边的表达式重复至少m遍,至多不限

+:左边的表达式,至少出现一次,至多不限,相当于{1,}

*:左边的表达式,至少出现0次,至多不限,相当于{0,}

?:左边的表达式,至少出现0次,至多出现1次,相当于{0,1}

[a,b,c]:只能取方括号中内容之一

[a-z]或[1-9]:在范围中取其一       [a-z,A-Z]

|:代表或者;():优先级\:转义—“\(\)”这个才是要出现的小括号,需要转义

JS中window.document对象的更多相关文章

  1. js中window.event对象

    event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromEleme ...

  2. js中window.onload 与 jquery中$(document.ready()) 測试

    js中window.onload 与 jquery中$(document.ready())差别,验证代码例如以下(调换js代码和Jquer代码书写顺序測试.执行结果一样.因此与代码书写位置没关系): ...

  3. Window.document对象

    1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个:     var a =docunme ...

  4. Window.document对象 轮播练习

    Window.document对象 一.找到元素:     docunment.getElementById("id"):根据id找,最多找一个:     var a =docun ...

  5. HTML Window.document对象

    1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个:    var a =docunmen ...

  6. JS中的event 对象详解

    JS中的event 对象详解   JS的event对象 Event属性和方法:1. type:事件的类型,如onlick中的click:2. srcElement/target:事件源,就是发生事件的 ...

  7. Window.document对象(1)

    1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个:     var a =docunme ...

  8. 关于js中window.location.href,location.href,parent.location.href,top.location.href的使用方法

    关于js中"window.location.href"."location.href"."parent.location.href".&qu ...

  9. js中如何访问对象和数组

    js中如何访问对象和数组 一.总结 一句话总结:js访问对象点和中括号,访问数组的话就是中括号 对象 . [] 数组 [] 1.js访问对象的两种方式? . [] 可以使用下面两种方式访问对象的属性和 ...

随机推荐

  1. JavaScriptの例

    Dateのオブジェクト: <html> <head> <title>Date Object Example</title> </head> ...

  2. 【原创】JPEG图像密写研究(三) 数据流译码

    [原创]这次更新比较慢,译码过程比想象中复杂一些,更主要是译出来的DCT系数无法确定是否正确,要想验证就需要再进行正向压缩编码,再次形成jpeg图像验证正确,后续工作正在开展,这里就说一说译码的主要思 ...

  3. java中三种常见内存溢出错误的处理方法

    更多 10   相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的 ...

  4. Mybatis上路_05-使用命令行自动生成【转】

    http://my.oschina.net/vigiles/blog/125127 Mybatis上路_05-使用命令行自动生成   1人收藏此文章, 我要收藏 发表于1个月前(2013-04-24 ...

  5. iOS开发宝典:String用法大全

    一.NSString 创建字符串.  NSString *astring = @"This is a String!"; 创建空字符串,给予赋值.  NSString *astri ...

  6. #ifdef _cplusplus

    时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #en ...

  7. Object-c中@private、@protected、@public解析

    Objective-C中,类的实例化变量的范围有@private.@protected.@public.他们代表的意思和C++中相同,只是前面添加了一个@符号.下面介绍一下他们代表的范围: 指令 意思 ...

  8. SQL Server 动态行转列(轉載)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段; 方法二:使用拼接SQL, ...

  9. 转-——推荐几个web中常用的一些js图表插件 - zccst

    http://www.tuicool.com/articles/bqq2Qn 作者:zccst 我自己用过fusioncharts和highchart. jQuery插件有: TufteGraph f ...

  10. Determine If Two Rectangles Overlap

    判断相交的情况比较复杂,所以从判断不相交的角度考虑. ! (P1.y < P4.y || P1.x > P4.x || P2.y > P3.y || P2.x < P3.x)