2020.11.15
赞
踩
文档对象模型DOM是W3C组织推荐的处理可扩展标记语言的标准编程接口。
W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构和样式。
使用getElementByld()方法可以获取带有ID的元素对象。
<body>
<div id="time">
2020.11.15
</div>
<script>
var timer = document.getElementById('time');
console.log(timer);
console.log(typeof timer);
console.dir(timer);
</script>
</body>
文档页面从上往下加载,所以的 得现有标签,因此script写在标签 下面。
get获得element元素by通过驼峰命名法
参数id是大小写敏感的字符串
返回的是一个元素对象
console.log 可以打印返回的元素对象,更好的查看里面的属性和方法。
使用getElementsByTagName()方法可以返回带有指定标签名的对象的集合。
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<script>
var lis = document.getElementsByTagName('li');
console.log(lis);
console.log(lis[0]);
for(var i=0;i<lis.length;i++){
console.log(lis[i]);
}
</script>
</body>
返回一个对象的集合,可以返回其中某一个,也可以遍历得到全部。
如果页面中只有一个<li>,返回的还是一个伪数组,如果页面中没有这个标签,返回的是空的伪数组。
可以定父元素来获取标签名
<body> <ul> <li>111</li> <li>222</li> <li>333</li> </ul> <ol> <li>1111111111</li> <li>2222222222</li> <li>3333333333</li> </ol> <script> var ol = document.getElementsByTagName('ol'); console.log(ol[0].getElementsByTagName('li')); </script> </body>
<body> <div class='box'> 盒子1 </div> <div class='box'> 盒子2 </div> <div id='nav'> <ul> <li>首页</li> <li>产品</li> </ul> </div> <script> vars boxs = document.getElementsByClassName('box'); console.log(boxs); </script> </body>
document.querySelector(‘选择器’)根据指定选择器返回第一个元素对象。切记里面的选择器需要加符号。
例如:var firstBox = document.querySelector('.box');
选择类元素,或者var nav = document.querySelector('#nav')
选择ID元素。
document.quarySelectorAll(‘选择器’)根据指定元素返回所有元素对象。 切记里面的选择器需要加符号。
获取body 元素
var bodyEle = document.body;
console.log(bodyEle);
获取html元素
var htmlEle = document.ducomentElement;
console.log(htmlEle);
JavaScript使我们有能力创建页面,而事件是可以被JavaScript侦测到的行为。网页中的每个元素都可以产生某些可以触发JavaScript的事件。
事件由三部分组成,分别为事件源、事件类型和事件处理程序。也称为事件三要素。
事件源:事件被触发的对象。
var btn =document.getElementById('btn');
事件类型:如何触发,比如鼠标经过还是鼠标点击。
事件处理程序:通过一个函数赋值的方式完成。
<button id="btn">
按钮
</button>
<script>
var btn = document.getElementById('btn');
btn.onclick = function(){
alert('你点击了按钮');
}
</script>
点击按钮,则会弹出“你点击了按钮”的提示框。
执行事件的步骤:
1. 获取事件源
2. 注册事件(绑定事件)
3. 添加事件处理程序
JavaScript的DOM操作可以改变网页内容、结构和样式,我们可以利用DOM操作元素来改变元素里面的内容、属性等。
element.innerText
从起始位置到终止位置的内容,但它去除html标签,同时空格和换行也会去掉
element.innerHTML
起始位置到终止位置的全部内容,包括html标签,同时保留空格和换行。
innerText不识别HTML标签,innerHTML识别HTML标签。这两个属性是可读写的。
<body> <button> 显示系统当前时间 </button> <div> 某个时间 </div> <script> var btn = document.querySelector('button'); var div = document.querySelector('div'); btn.onclick = function(){ div.innerText = getDate(); } function getDate(){ var date = new Date(); var year = date.getFullYear(); var month = date.getMonth()+1; var dates = date.getDate(); var arr = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六']; var day = date.getDay(); return '今天是'+year+'年'+month+'月'+dates+'日'+arr[day]; } </script> </body>
运行后,显示某个时间,当点击显示系统当前时间即可显示进当前的日期及星期。
<body> <button id="ldh"> 刘德华 </button> <button id="zxy"> 张学友 </button> <img src="images/ldh.jpg" alt="" title="刘德华"> <script> //获取元素属性 var ldh = document.getElementById('ldh'); var zxy = document.getElementById('zxy'); var img = document.querySelector('img'); //注册事件 处理程序 zxy.onclick =function(){ img.src = 'images/zxy.jpg'; img.title ='张学友'; } ldh.onclick = function(){ img.src = 'images/ldh.jpg'; img.title = '刘德华'; } </script> </body>
运行程序出现两个按钮"刘德华","张学友"和一张刘德华的图片,点击张学友,图片变成张学友的图片,鼠标放上面显示张学友,点击刘德华,图片变成刘德华的图片,鼠标放上面显示刘德华。
<body>
<button>
按钮
</button>
<input type="text" value="输入内容">
<script>
var btn = document.querySelector('button');
var input = document.querySelector('input');
btn.onclick = function(){
input.value = '被点击了';
this.disabled = true;
}
</script>
</body>
程序运行后,显示按钮和输入内容的文本框,点击按钮后,按钮会变成无法再次点击的样式,文本框里面内容会进行更改。
element.style修改行内式操作,element.className修改类名样式属性
<head> <style> div { width:200px; height:200px; background-color:pink; } </style> </head> <body> <div> </div> <script> var div = document.quertSelector('div'); div.onclick = function(){ this.style.backgroundColor = 'purple'; this.style.width='300px'; } </script> </body>
程序运行后,出现一个宽高均为200像素的粉红色盒子,点击盒子,变成宽300像素高200像素的紫色盒子。JS修改style样式操作,产生的是行内样式。
<head> <style> div { width:100px; height:100px; background-color:pink; } .change { width:200px; height:200px; background-color:purple; } </style> </head> <body> <div> 文本 </div> <script> vet test =document.querySelector('div'); test.onclick = function(){ //将当前元素的类名改为change this.className = 'change'; } </script> </body>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。