JavaScript——DOM操作——Window.document对象详解


Posted in Javascript onJuly 14, 2016

一、找到元素:

    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);

结果如下图:

JavaScript——DOM操作——Window.document对象详解

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

(2)设置内容:

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

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

JavaScript——DOM操作——Window.document对象详解

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属性,里面存了答案的值,点击检查答案的时候cheak输入的内容和答案是否一样:

Body中代码:

<form>中华民国成立于哪一年?<input type="text" daan="1912年" value="" id="t1" name="t1" /><input type="button" onclick="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("笨蛋!");   
  } 
}

回答正确时的结果:

JavaScript——DOM操作——Window.document对象详解

例子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);

运行的结果:

JavaScript——DOM操作——Window.document对象详解

四、操作样式

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

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

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

a. ; 操作此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 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)   
   {   
      var id = 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>

效果如下图:

JavaScript——DOM操作——Window.document对象详解

五、相关元素操作:

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。

以上这篇JavaScript——DOM操作——Window.document对象详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用GruntJS构建Web程序之合并压缩篇
Jun 06 Javascript
Bootstrap每天必学之基础排版
Nov 20 Javascript
微信小程序 Storage API实例详解
Oct 02 Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
Nov 05 Javascript
JS使用对象的defineProperty进行变量监控操作示例
Feb 02 Javascript
Vue实现手机扫描二维码预览页面效果
May 28 Javascript
vue.js封装switch开关组件的操作
Oct 26 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
Jul 14 #Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
Jul 14 #Javascript
jQuery实现公告新闻自动滚屏效果实例代码
Jul 14 #Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 #Javascript
javascript运算符语法全面概述
Jul 14 #Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
Jul 14 #Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 #Javascript
You might like
mysql 字段类型说明
2007/04/27 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
phpStorm2020 注册码
2020/09/17 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
2014/03/19 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
Python输出9*9乘法表的方法
2015/05/25 Python
Python中格式化format()方法详解
2017/04/01 Python
Python类的继承用法示例
2019/01/31 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
利用python绘制正态分布曲线
2021/01/04 Python
德国网上药房:Apotal
2017/04/04 全球购物
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
P/Invoke是什么
2015/07/31 面试题
产品质量承诺范本
2014/03/31 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
欧元符号 €
2022/02/17 杂记
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫