9月22日下午JavaScript----Document对象
document对象
一、找元素
1.根据id找
示例:
<input id = "a" type="button" value="找元素" onclick="Show()" />
function Show()
{
alert(document.getElementById("a"));
}
输出的结果是[objectHTMLDivElement],意思是找到了HTML里面的div。根据id找到的是唯一一个元素。
2.根据class找
示例:
<div class="aa"></div>
<div class="aa"></div>
<span class="aa"></span>
alert(document.getElementsByClassName("aa"));
输出的结果是[objectHTMLDivCollection]。Elements后面多了一个s,是个复数形式,表明找到的不是一个元素,而是很多元素,这些元素放在一个数组里面。如果再在后面加上allert(attr[0]);输出的结果就是一个div。根据class找,返回的是一个数组。
3.根据name找
表单里面有一个比较特殊的属性name,相当于它的名称。也可以根据name找元素,返回的也是一个数组。
示例:
<input type="text" name="cc" />
alert(document.getElementsByName("cc")[0]);
//取索引0,找到的结果是<input>标签。
4.根据标签名找
示例:
alert(document.getElementsByTagName("div").length);
表示根据标签名div找,返回的也是数组。上面代码是输出数组的长度,输出结果是3,表示有3个div。
二、操作内容
1.普通元素
这里的内容指的是元素(标签)里面的内容,开始标签和结束标签之间的内容。
①.获取内容文本
示例:
<div id="a">hello</div> //普通的div
var a = document.getElementById("a")//找到id是a里的div
alert(a.innerText);//获取div里的内容
如果在hello外面套一个<span>,获取的还是hello,这说明.innerText获取的是能在网页上看到的内容,是文本,而不是网页的代码。
②.内容设置(.innerText)
.innerText除了可以获取内容外,还可以设置内容,例如在上面的代码下面再加上a.innerText = "ok",输出的结果就成为了ok,取代了hello。直接拿来用是取值,让它等于一个值就是赋值。
③.获取内容代码
alert(a.innerHTML);表示获取代码,例如下面代码输出的结果就是<span>hello</span>,获取的是代码。
<div id="a"><span>hello</span></div>
var a = document.getElementById("a")
alert(a.innerHTML);
④.内容设置(a.innerHTML)
在上面代码下面加上a.innerHTML = "<span style='color:red'>ok</span>";输出的结果就是红色的ok,相当于把这行代码替换了原来的代码。
⑤.显示出标签
显示出的标签要用a.innerText来做,例如a.innerText = "<a href='#'>超链接</a>";页面上就会显示"<a href='#'>超链接</a>。
2.表单元素
示例:
<input type="text" id="txt" value="hello" />
var a = document.getElementById("txt")
alert(a.value);
用value获取表单里的内容。上面代码输出结果是hello。如果想要设置内容,可以在上面的代码下面加上a.value = "ok";,输出就过就成了ok。
三、操作属性
1.设置属性
属性是在标签里面写的,checked表示选中。
示例:
<input type="radio" name="sex" id="sex" text="aa" />男
var a = document.getElementById("sex")
a.setAttribute("checked","checked")
上面代码表示原来按钮属性里面“男”没有选中,用a.setAttribute("checked","checked")给按钮添加属性。第一个"checked"是属性名,第二个"checked"是属性值。
2.移除属性;a.removeAttribute("checked");括号里的就是属性名。
3.获取属性:alwrt(a.getAttribute("checked"));如果里面有一个属性,通过属性名来取出里面的值。输出的属性值就是checked。
四、操作样式
注意JS中的样式和body中的样式不太一样,中间没有-隔开,而中间有大写的字母。
1.获取样式
示例:
<div id="d" style="width:200px; height:200px; background-color:#F00"></div>
var a = document.getElementById("d");
alert(a.style.backgroundColor);
上面代码是获取div的背景色。也可以获取宽度、高度。如果把div的样式做成内嵌的,就找不到样式的值了。说明JS里操作样式只能操作内联的,不能操作内嵌的。
2.设置样式
示例:如果加上a.style.fontSize = "30px";,上面的div中的字体就会变成30px。
3.修改样式
示例:和设置样式格式一样,a.style.backgroundColor = "green";表示背景色换成绿色。修改样式只能一条一条的写。
例题一:单选按钮确定提交是否可用
<style type="text/css">
*{ margin:0px auto; padding:0px}
</style>
</head>
<body>
<div style="width:500px; height:500px">
<div style="margin-top:20px">
<input type="radio" name="sure" id="s1" onclick="KeYong()" />同意
<input type="radio" name="sure" id="s2" onclick="BuKeYong()" />不同意
</div>
<div style="margin-top:30px">
<input type="submit" value="确定" id="btn" style="width:100px; height:35px" disabled="disabled" />
</div>
</div>
</body>
<script type="text/jscript">
function KeYong()
{
var a = document.getElementById("btn");
a.removeAttribute("disabled");
}
function BuKeYong()
{
var a = document.getElementById("btn");
a.setAttribute("disabled","disabled");
}
</script>
例题二:倒计时按钮可用
<body>
<div style="width:500px; height:500px; margin:100px 0px 0px 100px">
<input id="btn" type="submit" value="确定" style="width:100px; height:35px" disabled="disabled" />
<span id="daojishi">10</span>
</div>
</body>
<script type="text/javascript">
window.setTimeout("YanChi()",1000);
function YanChi()
{
var span = document.getElementById("daojishi")
/*var n =span.innerText;
n--; //标记的3行等于下面的1行的效果
span.innerText = n;*/
span.innerText = span.innerText-1;
if(span.innerText == 0)
{
document.getElementById("btn").removeAttribute("disabled");
return;
}
window.setTimeout("YanChi()",1000);
}
</script>
例题三:在网页上显示和系统时间同步的 时 分 秒
<body>
<div style="margin-top:20px; margin-left:30px">
<span id="h"></span>
<span id="m"></span>
<span id="s"></span>
</div>
</body>
<script> window.setInterval("Bian()",1000);
function Bian()
{
var sj = new Date();
document.getElementById("h").innerText = sj.getHours();
document.getElementById("m").innerText = sj.getMinutes();
document.getElementById("s").innerText = sj.getSeconds();
}
</script>
例题四:往一个列表里面添加数据
<body>
<select id="sel" style="width:200px;" size="10">
<option>11</option>
<option>22</option>
<option>33</option>
</select>
<input type="text" id="nr" />
<input type="button" value="添加" id="btn1" onclick="Add()" />
</body>
<script type="text/javascript">
function Add()
{
var v = document.getElementById("nr").value; 取出用户输入的值
var list = document.getElementById("sel"); 向列表里添加
list.innerHTML = list.innerHTML+"<option>"+v+"</option>";
}
</script>
9月22日下午JavaScript----Document对象的更多相关文章
- 9月20日下午JavaScript函数--递归
		
例题1:公园里有200个桃子,猴子每天吃掉一半以后扔掉一个,问6天以后还剩余多少桃子? var sum = 200; for(var i= 0;i<6;i++) { sum = parseInt ...
 - 9月19日下午JavaScript数组冒泡排列和二分法
		
数组 一.冒泡排列 对数组attr = [1,8,6,4,5,3,7,2,9]进行由大到小排列,用冒泡排列的方法排列时,会对数组进行比较互换.如果前一个数字较大,这2个元素排列方式不变,如果后一个元素 ...
 - 12月22日《奥威Power-BI财务报表数据填报》腾讯课堂开课啦
		
一扇可以通向任何地方的“任意门”,是我们多少人幼时最梦寐以求的道具之一.即使到了现在,工作中的我们还会时不时有“世界那么大,我想去看看”的念头,或者在突然不想工作的时刻,幻想着自己的家门变成了“任意门 ...
 - Autodesk 最新开发技术研讨会 -8月22日-Autodesk北京办公室
		
为了增进与广大中国地区Autodesk产品的二次开发人员的了解与互动,帮助中国地区的Autodesk产品二次开发人员了解Autodesk最新的二次开发技术动向,并获得Autodesk公司专业开发支持顾 ...
 - 见见面、聊聊天 - 5月22日晚7点Meetup,三里屯绿树旁酒吧,畅谈云技术和应用
		
总是邮件.QQ什么的线上聊,让我们见面吧,不怕见光死,呵呵. 我和同事会先抛砖引玉,给大家介绍一下Autodesk几款最新的云技术和解决方案,然后大家就可畅所欲言,自由交流.来自五湖四海的人,为了 ...
 - 2016年12月22日 星期四 --出埃及记 Exodus 21:17
		
2016年12月22日 星期四 --出埃及记 Exodus 21:17 "Anyone who curses his father or mother must be put to deat ...
 - 转:[置顶] 从头到尾彻底理解KMP(2014年8月22日版)
		
[置顶] 从头到尾彻底理解KMP(2014年8月22日版)
 - 2016年11月22日 星期二 --出埃及记 Exodus 20:13
		
2016年11月22日 星期二 --出埃及记 Exodus 20:13 "You shall not murder.不可杀人.
 - 2016年10月22日 星期六 --出埃及记 Exodus 19:6
		
2016年10月22日 星期六 --出埃及记 Exodus 19:6 you will be for me a kingdom of priests and a holy nation.' These ...
 
随机推荐
- Mod4-PHP编码规范
			
loading... 归纳总结了能找到的一些编码规范,形成自己所需要的编码规范. 参考网址:1.2 一.文件格式 缩进使用四个空格,不使用制表符.左花括号不另起一行. if (1 == $x) { $ ...
 - Qt自定义窗体,边框,圆角窗体
			
MainWindow::MainWindow(QWidget*parent): QMainWindow(parent), ui(new Ui::MainWindow) { setAttribute(Q ...
 - Android应用崩溃后异常捕获并重启并写入日志
			
在Android开发时,有时会因为一些异常导致应用报错,偶尔会因为错误 而崩溃,导致用户体验下降,为了解决这问题,我们就要对这样的异常处理: 代码如下: CrashHandler.java impor ...
 - [转] DBCP 的validationQuery
			
原文地址:http://blog.csdn.net/fgakjfd/article/details/5600462 网上很多评论说DBCP有很多BUG,但是都没有指明是什么BUG,只有一部分人说数据库 ...
 - Redis集群(五):集群搭建
			
一.本文目的 演示在一台机器上搭建3主3从的redis集群,通过演示了解redis集群的搭建,使用和注意事项 二.搭建说明 1.同一台机器搭建3主3从的伪集群 ...
 - 【BZOJ 1857】【SCOI 2010】传送带
			
三分套三分,虽然简单,但是也得掌握,,, 时间复杂度$O(log_{1.5}^2 n)$ 一开始WA好几次发现是快速读入里没有return,这样也能过样例?_(:3J∠)_ #include<c ...
 - js闭包详解
			
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 闭包的特性 闭包有三个特性: 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数 ...
 - python 进程间共享数据 (三)
			
Python的multiprocessing模块包装了底层的机制,提供了Queue.Pipes等多种方式来交换数据. 我们以Queue为例,在父进程中创建两个子进程,一个往Queue里写数据,一个从Q ...
 - android开发之生命周期
			
android开发之生命周期 一:Activity的生命周期: 这几天了了解了安卓Activity的生命周期,对于生命周期有了大概的理解: 一个Activity的生命周期也就是Activity从生成到 ...
 - Python 小细节备忘
			
1. 多行字符串可以通过三个连续的单引号 (”’) 或是双引号 (“”") 来进行标示 >>> a='''a bc def ''' >>> print a ...