1、Window.document对象

一、找到元素:
    docunment.getElementById("id");根据id找,最多找一个;
    var a =docunment.getElementById("id");将找到的元素放在变量中;
    docunment.getElementsByName("name");根据name找,找出来的是数组;
    docunment.getElementsByTagName("name");根据标签名找,找出来的是数组;
    docunment.getElementsByClassName("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);包括标签本身的内容(简单了解)

2)设置内容:

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输入的内容和答案是否一样:

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

JS中的代码:

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

回答正确时的结果:

例2:求1!+2!+···+n!.

<form>
请输入一个正整数
<input type="text" id="a1" value="" />
<input type="button" value="请点击我" id="a2" onclick="jiechengqiuhe()" />
</form>

JS中代码为:

function jiechengqiuhe()
{
var a=parseInt(document.getElementById("a1").value);
var s=1;
var sum=0;
for(var i=1;i<=a;i++)
{
s*=i;
sum+=s;
}
alert("1~"+a+"的阶乘之和为:"+sum);
}

例3:同意按钮,倒计时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");//移除"disabled"属性
a.value="同意";
}
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 class="pages" id="p1" onclick="dodo(-1)"></div <div class="pages" id="p2" onclick="dodo(1)"></div> </div>

样式表中的代码:

<style>
*
{
margin:0px auto;
padding:0px;
font-family:"微软雅黑";
}
#tuijian
{
width:760px;
height:475px;
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;//数组jpg索引号
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=-1
{
xb=jpg.length-1;
}
else if(xb>=jpg.length)//xb=3
{
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之间//0~100之间就乘以100

十、小知识点

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

在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.操作相关元素:
父级,子,兄,弟

3.26课·········window.document对象的更多相关文章

  1. Window.document对象

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

  2. JavaScript的DOM操作。Window.document对象

    间隔执行一段代码:window.setlnteval("需要执行的代码",间隔毫秒数) 例 :      window.setlnteval("alert("你 ...

  3. Window.document对象 轮播练习

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

  4. HTML Window.document对象

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

  5. Window.document对象(1)

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

  6. JS中window.document对象

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

  7. 1、Window.document对象

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

  8. 2016/2/22 1、Window.document对象

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

  9. DOM操作(Window.document对象)

    间隔与延迟: 间隔一段代码: window.setInterval("代码",间隔执行秒数) 延迟一段时间后执行一段代码: window.setTimeout("执行代码 ...

随机推荐

  1. zabbix客户端安装shadowscoks客户端监控访问google网站

    配置zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 添加  Include=/etc/zabbix/zabbix_agentd.d/ 添加脚本探测访问 ...

  2. preloadjs实现网页资源预加载

    <!doctype html> <html lang="zh"> <head> <title>PreloadJS的基础使用</ ...

  3. JSON Web Token (JWT) 实现与使用方法

    1. JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,用于作为JSON对象在各方之间安全地传输信息.该 ...

  4. AIX 安装标准

    文件夹 一.网卡需求 二.光纤卡需求 三.磁盘需求 四.主机文件系统需求 五.主机名命名规范 六.安装设置规范 七.參数改动规范 八.时钟同步设置 九.rootvg做镜像 十.AIX系统安全加固 一. ...

  5. [转] 查看HDFS文件系统数据的三种方法

    1.使用插件——Hadoop-Eclipse-Plugin此方法需要借助Eclipse,插件的安装及使用请参考博文使用Eclipse编译运行MapReduce程序_Hadoop2.6.0_Ubuntu ...

  6. python easy install时,使用aliyun阿里云镜像提示主机名不匹配的问题

    因网络问题,因此设置 easy_install 使用阿里云的源, ## 更新 easy_install 源 tee ~/.pydistutils.cfg <<-'EOF' [easy_in ...

  7. .net验证控件,导航控件

    一.客户端验证(用户体验,减少服务器端压力) 二.服务器端验证(防止恶意攻击,客户端js很容易被绕过) 验证控件:RequiredFieldValidator:字段必填:RangeValidator: ...

  8. sersync简介与测试报告

    在分布式应用中会遇到一个问题,就是多个服务器间的文件如何能始终保持一致.一种经典的办法是将需要保持一致的文件存储在NFS上,这种方法虽然简单方便但却将本来多点的应用在文件存储上又变成了单点,这违背了分 ...

  9. 机器学习11—Apriori学习笔记

    votesmart下载  https://pypi.python.org/pypi/py-votesmart test11.py #-*- coding:utf-8 import sys sys.pa ...

  10. Tomcat9源码分析:BootStrap

    概览 BootStrap源码所在的位置是:org.apache.catalina.startup.Bootstrap 这个类是Tomcat项目的启动类,也就是main函数所在的地方,起始tomcat就 ...