DOM
文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法
DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)
HTML文档可以说由节点构成的集合,三种常见的DOM节点
元素节点:上图中<html>,<body>,<p>等都是元素节点,即标签
文本节点:向用户展示的内容,如<li>...</li>中的JavaScript、DOM、CSS等文本
属性节点:元素属性,如<a>标签的链接属性href="http://www.imooc.com"
通过id获取元素
网页由标签将信息组织起来,而标签的id属性值是唯一的
在网页中,我们通过id先找到标签,然后对它进行操作
语法
document.getElementById(“id”)
<script type='text/javascript'>
var mye = document.getElementById('con');
document.write(mye);
</script>
结果:null或[object HTMLParagraphElement]
获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法
innerHTML 属性
innerHTML 属性用于获取或替换HTML元素的内容
语法
Object.innerHTML
Object是获取的元素对象,例如通过document.getElementById("ID")获取的元素
<body>
<p id='con'>Hello World</p>
<script>
var maycon= document.getElementById('con')
document.write('p标签的原始内容:'+mycon.innerHTML+'<br>');
macon.innerHTML ='New text!';
document.write('p标签修改后内容:'+ mycon.innerHTML);
</script>
通过id="con"获取<p> 元素,并将元素的内容输出和改变元素内容
改变HTML样式
HTML DOM 允许 JavaScript 改变 HTML 元素的样式
语法
Object.style.property=new style;
基本属性表(property)
<p id="pcon">Hello World!</p>
<script>
var mychar = document.getElementById("pcon");
mychar.style.color="red";
mychar.style.fontSize="20";
mychar.style.backgroundColor ="blue";
</script>
改变 <p> 元素的样式,将颜色改为红色,字号改为20,背景颜色改为蓝
显示和隐藏(display属性)
网页中经常会看到显示和隐藏的效果,可通过display属性来设置
语法
Object.style.display = value;
value取值
none; 此元素不会被显示(即隐藏)
block; 此元素将显示为块级元素(即显示)
<script type='text/javascript'>
function hidetext(){
document.getElementById('con').style.display='none';
}
function showtext(){
document.getElementById('con').style.display='block';
}
</script>
控制类名(className 属性)
className 属性设置或返回元素的class属性
语法
object.className = classname;
获取元素的class 属性
为网页内的某个元素指定一个css样式来更改该元素的外观
看看下面代码,获得
元素的 class 属性和改变className:
<head>
<style type='text/css'>
input{
font-size:10px;
}
.one{
width:200px;
background-color:#CCC;
}
.two{
font-size:18px;
color:#F00;
}
</style>
</head>
<body>
<p id='con' class='one'>JavaScript</p>
<form>
<input type='button' value='点击更改' onclick='modifyclass()'/>
</form>
<script type='text/javascripe'>
var mychar= document.getElementById('con');
document.write('p元素Class值为:'+ mychar.className+'<br>');
function modifyclass(){
mychar.className='two';
}
</script>
</body>
获得 <p> 元素的 class 属性和改变className
详细资料点击:JavaScript