1、Window.document对象

一、找到元素:
    docunment.getElementById("id");根据id找,最多找一个;
    var a =docunment.getElementById("id");将找到的元素放在变量中;
    docunment.getElementByName("name");根据name找,找出来的是数组;
    docunment.getElementByTagName("name");根据标签名找,找出来的是数组;
    docunment.getElementByClassName("name") 根据classname找,找出来的是数组;

二、操作内容:

1. 非表单元素:

1)获取内容:

alert(a.innerHTML);标签里的html代码和文字都获取了,标签里面的所有内容。

如:body中有这么一个div:

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

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

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

结果如下图:

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

1)设置内容:

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

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

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

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

2. 表单元素:

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

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

alert(t.value); 获取input中的value值;
    alert(t.innerHTML); 获取<textarea> 这里的值 </textarea>;

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

3. 一个小知识点:

<a href="http://www.baidu.com" onclick ="return false">转向百度</a> ;

加了return flase则不会跳转,默认是return true会跳转。

按钮也一样,如果按钮中设置return flase 则不会进行提交,利用这个可以对提交跳转进行控制。

三、操作属性

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

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

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

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

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

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

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

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

Body中代码:

<form>中华民国成立于哪一年?
<input type="text" daan="1912年" value="" id="t1" name="t1" />
<input type="button" οnclick="check()" id="t2" name="t2" value="检查答案" />
</form>

JS中的代码:

function check()
{     var a=document.getElementById("t1");var a1=a.value; var a2=a.getAttribute("daan"); if(a1==a2)     {         alert("恭喜你答对了!");     }     else     {         alert("笨蛋!");     }
}

回答正确时的结果:

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

body中的代码:

<form>
<input type="submit" id="b1" name="b1" value="同意(10)" disabled="disabled" />
</form>

JS中的代码:

var n=10;
var a= document.getElementById("b1");function bian() {     n--;    if(n==0)     {         a.removeAttribute("disabled");a.value="同意"; return; }     else     {         a.value= "同意("+n+")"; window.setTimeout("bian()",1000);     } }
window.setTimeout("bian()",1000);

运行的结果:

四、操作样式

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

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

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

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

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

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

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

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

Body中的代码,做一个有背景图片的div和两侧的控制对象:

<div id="tuijian" style=" background-image:url(imges/tj1.jpg);"> </div>
<div class="pages" id="p1" οnclick="dodo(-1)"></div>
<div class="pages" id="p2" οnclick="dodo(1)"></div>         

样式表中的代码:

<style type="text/css"> *{     margin:0px auto;padding:0px;font-family:"微软雅黑";}#tuijian{width:760px;height:350px;background-repeat:no-repeat;}.pages{     top:200px;background-color:#000;background-position:center;background-repeat:no-repeat;opacity: 0.4;width: 30px;height:60px;} #p1{background-image:url(imges/prev.png);float:left;margin:150px 0px 0px 10px;}#p2{background-image:url(imges/next.png);float:right;margin:150px 10px 0px 0px;}</style>

JS中的代码,这里主要是每隔3秒中调用一下huan()函数,来将背景图片的样式修改,在点击左右切换的时候变为手动切换,自动切换停止:

<script language="javascript">
var jpg =new Array();jpg[0]="url(imges/tj1.jpg)";jpg[1]="url(imges/tj2.jpg)";jpg[2]="url(imges/tj3.jpg)";
var tjimg = document.getElementById("tuijian");
var xb=0;
var n=0;
function huan(){xb++;if(xb == jpg.length){xb=0;}tjimg.style.backgroundImage=jpg[xb];if(n==0){window.setTimeout("huan()",3000);}}
function dodo(m){        n=1;xb = xb+m;if(xb < 0){xb = jpg.length-1;}else if(xb >= jpg.length){xb = 0;}tjimg.style.backgroundImage=jpg[xb];}window.setTimeout("huan()",3000);
</script>

效果如下图:

五、相关元素操作:

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,不是返回flase,用if判断它的值是不是false,可以去除空格。

六、元素的创建、添加、删除:

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

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

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

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

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

列表中a.selectedIndex:选中的是第几个;

//a.options[a.selectIndex]按下标取出第几个option对象

七、字符串的操作:

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("world");world在字符串中第一次出现的位置,没有返回-1

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

八、日期时间的操作

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

d.setFullYear(2015,11,6);/*在想要设置的月份上减1设置*/

d.getFullYear:取年份;

d.getMonth():取月份,取出来的少1;

d.getDate():取天;

d.getDay():取星期几

d.getHours():取小时;

d.getMinutes():取分钟;d.getSeconds():取秒

d.setFullYear():设置年份,设置月份的时候注意-1。

九、数学函数的操作

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

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

Math.sqrt();开平方

Math.round();四舍五入

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

十、小知识点

外面双引号,里面的双引号改为单引号;

在div里面行高设置时,设置为外边路况一样高,所占用的行默认在中间位置(div上下区域内中间——【默认】垂直居中)。

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

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

三、document:
1.找
var d = document.getElementById("元素的ID");
var d = document.getElementsByName("元素名称")
var d = document.getElementsByTagName("标签名")

2.操作元素内容:
(1)表单元素:文本(input:type=text,input:type=password;textarea;input:type=hidden)按钮(submit,reset,button image)选择(radio,checkbox,select,file)
d.value=”xxxx”;
var s = d.value;

(2)非表单元素:h1...h6,p,div,ul,ol,li
d.innerHTML = “xxxx”;
var s = d.innerHTML;

3.操作元素属性:
d.setAttribute(名,值)
var s = d.getAttribute(名)
d.removeAttribute(名);

4.操作元素样式:
(1)内联样式:
d.style.backgroundColor = "#FFFF00";
var s = d.style.backgroundColor;
(2)class属性:
d.className=""
5.操作相关元素:
父级,子,兄,弟

老师讲解

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.qq
{border:2px solid red;}
.ww
{border:5px double blue;}
</style>
</head><body><div style="width:500px; height:300px; border:1px solid red; line-height:300px;">1241231231</div><br />
<input type="button" value="请点击我" class="qq" οnclick="this.className='ww'" />
<div id="me">
<b>试试吧</b>
</div>
<input type="button" value="请点击" οnclick="change()" /><br />
<br />
请输入一个正整数:<input type="text" value="" id="text" /><br />
<input type="button" value="点击计算累加求和" οnclick="leijia()" /><br />
<br />
<br />
<input type="button" value="同意(10)" id="aa" disabled="disabled" /><br />
<br />
<br />
请输入三个数,用-隔开:<input type="text" id="ee" /><br />
<input type="button" value="请点击我" οnclick="huoqu()" />
</body>
</html>
<script>
var shuzu=new Array();
function huoqu()
{var a = document.getElementById("ee").value;shuzu=a.split("-");alert(shuzu[2]);
}
var date = new Date();//初始化成为现在的时间
date.setFullYear(2008,7,8);
alert(date)var n = 10;
var aa = document.getElementById("aa");
function bian()
{n--;if(n==0){aa.removeAttribute("disabled");aa.value="同意";}else{aa.value="同意("+n+")";    window.setTimeout("bian()",1000);}
}
window.setTimeout("bian()",1000);function leijia()
{var a = parseInt(document.getElementById("text").value);var sum = 0;for(var i =1;i<=a;i++){sum+=i;    }alert("刚刚的结果是:"+sum);
}
function change()
{var a = document.getElementById("me");a.innerHTML="<br /><br /><font color='red'>Hello!</font>";
}</script>

转载于:https://www.cnblogs.com/yy01/p/5322351.html

HTML Window.document相关推荐

  1. JS中window.document对象

    小知识点注:外面双引号,里面的双引号改为单引号:                  在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中                  文本框取出来 ...

  2. jquery插件开发;(function ( $, window, document, undefined ){}(jQuery, window,document)分析

    经常看到许多jquery插件是这种形式: ;(function( $, window, document, undefined ){}){//...code }(jquery,window,docum ...

  3. JavaScript window.document的属性、方法和事件小结

    javascript中window.document的属性.方法和事件的总结,有需要的朋友可参考一下本文章. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的 ...

  4. JavaScript 里 window, document, screen, body 这几个名词的区别

    在下面这个 StackOverflow 的线索里进行了讨论: https://stackoverflow.com/questions/9895202/what-is-the-difference-be ...

  5. javascript 中的window, document, screen都有什么区别?

    谷歌之后,从stackoverflow上找到的高赞答案: https://stackoverflow.com/questions/9895202/what-is-the-difference-betw ...

  6. document 和 window.document

    通常我在写javascript的时候从来没有意识到document和window.document之间是有区别的,实际使用过程中也确实没有遇到问题,但是这埋下了非常大的隐患,当出现问题时,这个bug就 ...

  7. window.onload和window.document.readystate的探究

    在编写前端页面的时候,我们时常需要对页面加载的状态进行判断,以便进行相应的操作. 比如在移动端,时常需要在页面完全加载完成之前,先显示一个loading的图标,等待页面完成加载完成后,才显示出真正要展 ...

  8. Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题

    问题场景: 使用java 掉用js代码,发现 ScriptEngine不支持浏览器内置对象window,document的问题: 问题一:为什么要 用java掉用js代码? 比如在 抓取(爬取)对方网 ...

  9. 关于js获取屏幕高度和宽度( window.document.body,window.screen)(PC端和移动端)

    在使用JS的时候经常遇到的问题就是我需要获取当前屏幕的宽度和高度.每每到这个时候不知道使用哪个: widow.document.body.offsetWidth; window.screen.avai ...

最新文章

  1. MySQL 的 Binlog 日志处理工具(Canal/Maxwell/Databus/DTS)对比
  2. vue调用接口获取后台数据_Vuex 存储||获取后台接口数据
  3. using namespace cv_闪耀暖暖万圣节非凡魔女南瓜套公开 消耗钻石获取 大喵无CV
  4. BZOJ 2957: 楼房重建
  5. 直播报名 | CUDA优化:高性能库cuBLAS使用指南
  6. Java点击按钮div缩放_[Java教程]怎样给div增加resize事件
  7. ASP.NET 應用程式的安全性模型
  8. c语言格式化知识点(sscanf)
  9. ssis高级转换任务—查找_SSIS中的模糊查找转换
  10. 【Python学习笔记】Coursera之PY4E学习笔记——String
  11. java 降低jdk版本_jdk1.7降级到1.6 | 学步园
  12. 人脸识别之特征脸方法(Eigenface)PCA方法
  13. Oracle 11g安装步骤(超详细)
  14. java菜鸟教程100_JAVA/JSP学习系列之一
  15. 设计模式实践-装饰器
  16. 考计算机证书指南,计算机二级证书:备考和实战指南--教育频道[温州网]
  17. perl 模块下载安装
  18. OPC与三菱Q系列PLC通信
  19. Android studio profiler中的Shallow size和retained sizes是什么意思
  20. layim php,如何通过LayuiAdminLayIMThinkphpGateway实现小程序多客服接入系统的例子

热门文章

  1. opensips中db_default_url解析存在的bug
  2. LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
  3. 报错解决:ERROR: Failed to format E:; DiskPart errorlevel -2147212243.
  4. MariaDB/MySQL防止重复插入相同记录:INSERT IGNORE或者REPLACE
  5. 本科计算机专业考北大软微,2022北京大学软微学院计算机智能科技考研必看经验指导(含复试解析)...
  6. Docker(三):Docker 镜像使用
  7. 使用class-dump导出其他应用头文件
  8. 折半插入排序稳定吗_C++实现经典算法--折半插入排序
  9. otto android,Android Otto调研
  10. arm linux gdb调试工具,gdb+gdbserver调试arm-linux程序