DOM是DocumentObject Model的缩写,简称文档对象模型,,先来看一下DOM树结构图:
通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。
访问HTML元素节点常用的有3种方式
1.通过 id 访问 HTML 元素
document.getElementById
2.通过标签名访问HTML 元素
document.getElementsByTagName
3.通过类名访问HTML 元素
document.getElementsByClassName
<head>
<title></title>
<p id="demo"class="hello">你好</p>
<p id="test">世界</p>
<scripttype="text/javascript">
//id
varp1=document.getElementById("demo");
console.log(p1);
var res1=p1.innerHTML;
console.log(res1);
//标签名
varp2=document.getElementsByTagName("p");
console.log(p2);
var res2=p2[1].innerHTML;
console.log(res2);
//类名
varp3=document.getElementsByClassName("hello");
var res3=p3[0].innerHTML;
console.log(res3);
</script>
</head>
此外用className选择元素.实现有2步
1.选出所有元素
2.通过className条件筛选
示例:将class="box"的li的背景颜色变为红色
<scripttype="text/javascript">
window.οnlοad=function()
{
var oUl=document.getElementById('ul1');
var aLi=oUl.getElementsByTagName('li');
var i=0;
for(i=0;i<aLi.length;i++)
{
if(aLi[i].className=='box')
{
aLi[i].style.background='red';
}
}
}
</script>
</head>
<body>
<ulid="ul1">
<li></li>
<li></li>
<li></li>
<liclass="box"></li>
<li></li>
<liclass="box"></li>
<liclass="box"></li>
<li></li>
<li></li>
<li></li>
</ul>
</body>
运行结果:
封装成函数
<scripttype="text/javascript">
functiongetByClass(oParent, sClass)
{
varaEle=oParent.getElementsByTagName('*');
var aResult=[];
var i=0;
for(i=0;i<aEle.length;i++)
{
if(aEle[i].className==sClass)
{
aResult.push(aEle[i]);
}
}
return aResult;
}
window.οnlοad=function()
{
var oUl=document.getElementById('ul1');
var aBox=getByClass(oUl, 'box');
var i=0;
for(i=0;i<aBox.length;i++)
{
aBox[i].style.background='yellow';
}
}
</script>
实现效果和之前的效果是一致的
通过dom操作 改变HTML内容
1.改变 HTML输出流
document.write("hello");
2.改变 HTML内容
document.getElementById("demo").innerHTML="51code";
3.改变HTML样式
document.getElementById("test").style.background="red";