分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

js操作DOM对象

发布时间:2023-09-06 01:22责任编辑:苏小强关键词:jsDOM
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>访问节点</title> ???<!-- ???DOM(Document Object Model) 文档对象模型 ???HTML-DOM ???CSS-DOM ???XML-DOM ???DOM-CORE ???noteType的返回值: ???1 :元素节点 ???2 :属性节点 ???3 :文本节点 ???8 :注释节点 ???9 :文档节点 ???--></head><body> ?<ul> ?????<li>大家辛苦了1</li> ?????<li>大家辛苦了2</li> ?????<li>大家辛苦了3</li> ?</ul> <img src="../images/cat.jpg" alt="这是一只可爱的小猫咪" ?id="cat"> ???<script type="text/javascript"> ???//获取ul中的第一个li ??var ul= document.getElementsByTagName("ul")[0]; ???//输出节点的名称 ???document.write("ul节点的名称:"+ul.nodeName+"<br/>"); ???document.write("ul节点的类型:"+ul.nodeType+"<br/>"); ???document.write("ul节点的值:"+ul.nodeValue+"<br/>"); ???// 01.获取ul中的第一个li ?元素节点 ???var li=ul.firstElementChild; ???document.write("li节点的名称:"+li.nodeName+"<br/>"); ???document.write("li节点的类型:"+li.nodeType+"<br/>"); ???document.write("li节点的值:"+li.nodeValue+"<br/>"); ?//获取小猫咪 ???var cat=document.getElementById("cat"); ???document.write("img节点的名称:"+cat.nodeName+"<br/>"); ???document.write("img节点的类型:"+cat.nodeType+"<br/>"); ???document.write("img节点的值:"+cat.nodeValue+"<br/>"); ?//动态改变小猫咪的 宽度和高度 ???cat.setAttribute("width","200px"); ???cat.setAttribute("height","200px"); ?//获取我们的属性对应的属性值 ???var src= cat.getAttribute("src"); ???document.write("src:"+src+"<br/>"); ???//02.获取属性节点 ???var alt= cat.getAttributeNode("alt"); ???document.write("img节点alt的名称:"+alt.nodeName+"<br/>"); ???document.write("img节点alt的类型:"+alt.nodeType+"<br/>"); ???document.write("img节点alt的值:"+alt.nodeValue+"<br/>"); ???//03. 获取第一个li的内容 ??var ?text= li.firstChild; ?//文本节点 ???document.write("text的名称:"+text.nodeName+"<br/>"); ???document.write("text的类型:"+text.nodeType+"<br/>"); ???document.write("text的值:"+text.nodeValue+"<br/>");</script></body></html>
访问节点
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>节点的增删改</title></head><body><ul> ???<li>大家辛苦了1</li> ???<li>大家辛苦了2</li> ???<li>大家辛苦了3</li> ???<li>大家辛苦了4</li> ???<li>大家辛苦了5</li> ???<li>大家辛苦了6</li> ???<li>大家辛苦了7</li> ???<li>大家辛苦了8</li> ???<li>大家辛苦了9</li> ???<li>大家辛苦了10</li> ???<li>大家辛苦了11</li> ???<li>大家辛苦了12</li></ul><script type="text/javascript"> ???//首先获取页面中的第一个ul ???var ul= document.getElementsByTagName("ul")[0]; ???//创建一个新的节点 ???var ?newLi=document.createElement("li"); ???//给新节点的增加内容 ???newLi.innerHTML="<h1>哈哈</h1>"; ???//在第7 个位置之前 把新增的li放入 ???var needLi= ul.getElementsByTagName("li")[6]; ???//ul.insertBefore(newLi,needLi); // 把newLi放在needLi之前 ???//替换指定的节点 ???var repLi= ul.getElementsByTagName("li")[9]; ???ul.replaceChild(newLi,repLi); ???//删除指定的节点 ???ul.removeChild(newLi); ???//clone ?UL ???var newUl= ul.cloneNode(true); ???// 在body中增加 ul ???ul.parentNode.appendChild(newUl);</script></body></html>
节点的增删改
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>Style样式</title> ???<!-- ?????之前接触的 行内样式 style 是css设置样式 ?????现在我们使用的是js中的设置样式! ???--> ???<style type="text/css"> ???????#myDiv{ ???????????height: 50px; ???????????width: 50px; ???????} ???</style></head><body> ?<div ?id="myDiv" style="border: 1px solid red"></div> ?<button type="button" onclick="changeBackground();">换背景色</button> ?<button type="button" onclick="changeMargin();">换外边距</button><script type="text/javascript"> ????var div=document.getElementById("myDiv"); ????/** ?????* ?通过js中的style属性来设置样式 ?????* ?????* ?注意点: ?????* ?01.css中有的属性我们 style中都有 ?????* ?02.只不过属性名写法不一致 ?????* ????比如说 ?css font-size ??????style fontSize ?????*/ ????function changeBackground(){ ????????div.style.backgroundColor="pink"; ?//改变背景颜色 ????} ????function changeMargin(){ ????????div.style.marginLeft="50px"; ?//改变外边距 ????}</script></body></html>
Style样式
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>Tab切换</title> ???<style type="text/css"> ???????#tab{ width: 400px;} ???????#tab ul{list-style: none;overflow:hidden;margin:0px;padding:0px;} ???????#tab ul li{float:left;padding:5px 10px;border:1px solid #eee;cursor:pointer;} ???????#tab ul li.cur{background-color: red} ???????#tab .content{width:100%;border:1px solid #eeeeee;height: 100px;} ???</style></head><body><div id="tab"> ???<ul> ???????<li class="cur">tab1</li> ???????<li>tab2</li> ???????<li>tab3</li> ???????<li>tab4</li> ???</ul> ???<div id="c-box"> ???????<div class="content" id="content-0"> ???????????tab-1第一个容器的内容 ???????</div> ???????<div class="content" id="content-1" style="display: none;"> ???????????tab-2第二个容器的内容 ???????</div> ???????<div class="content" id="content-2" style="display: none;"> ???????????tab-3第3个容器的内容 ???????</div> ???????<div class="content" id="content-3" style="display: none;"> ???????????tab-4第4个容器的内容 ???????</div> ???</div> ???<script type="text/javascript"> ???????//获取页面中需要得所有li的集合 ???????var liList=document.getElementsByTagName("li"); ???????//循环li集合 ???????for(var i=0;i<liList.length;i++){ ???????????liList[i].index=i; ?//当前选中的li ???????????liList[i].onmouseover=function(){ //鼠标移入事件 ???????????????for(var j=0;j<liList.length;j++){ ?//循环div ???????????????????document.getElementById("content-"+j).style.display="none"; //所有div的都隐藏 ???????????????????liList[j].className=""; ?//清除所有的li 的class属性值 ???????????????} ??????????????liList[this.index].className="cur";//设置选中的li样式 ??????????????document.getElementById("content-"+this.index).style.display="block"; //显示选中的li对应div ?????????} ???????} ???</script></body></html>
Tab切换
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>className属性</title> ???<style type="text/css"> ???????.myDiv{ ???????????height: 50px; ???????????width: 50px; ???????????border: 1px solid red; ???????} ???????.newStyle{ ???????????height: 150px; ???????????width: 150px; ???????????border: 2px solid pink; ???????} ???</style></head><body><div class="myDiv" id="myDiv"></div><script type="text/javascript"> ????var div= document.getElementById("myDiv"); ????div.onclick=function(){ ????????div.className="newStyle"; ?//newStyle是我们需要设置class的名称 ????}</script></body></html>
className属性
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>EasyUI实现tabs</title></head><body> ??<div id="myTabs"> ???????<ul> ??????????<li><a href="#a">第1个</a></li> ??????????<li><a href="#b">第2个</a></li> ??????????<li><a href="#c">第3个</a></li> ??????????<li><a href="#d">第4个</a></li> ???????</ul> ??????<div id="a">第1个选项卡</div> ??????<div id="b">第2个选项卡</div> ??????<div id="c">第3个选项卡</div> ??????<div id="d">第4个选项卡</div> ??</div><!-- 引入我们需要的js文件--><script type="text/javascript" ?src="../js/jquery-1.8.3.js"></script><script type="text/javascript" ?src="../js/jquery-ui.js"></script><script type="text/javascript" ?src="../js/jquery.ui.tabs.js"></script><script type="text/javascript"> ???$(function(){ ????????$("#myTabs").tabs({ ????????????active:1, ?//默认选中第一个tab ????????????event:"mouseover" ????????}) ???})</script></body></html>
EasyUI实现tabs
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>滚动距离</title> ???<style type="text/css"> ???????*{margin:0;padding: 0;} ???????#box1{height:200px;width: 200px;background:#eee;border:1px solid #000;overflow-y:scroll;} ???????p{line-height:40px;} ???</style> ???<script type="text/javascript"> ?window.onload=function(){ ?????var box1=document.getElementById("box1"); ?????var text=document.getElementById("text"); ?????//当div滚动的时候 ?????box1.onscroll=function(){ ?????????text.innerHTML="距离TOP多少像素:"+box1.scrollTop; ?????} ?} ???</script></head><body><div id="box1"> ???<p>1</p> ???<p>2</p> ???<p>3</p> ???<p>4</p> ???<p>5</p> ???<p>6</p> ???<p>7</p> ???<p>8</p> ???<p>9</p> ???<p>10</p> ???<p>11</p> ???<p>12</p> ???<p>13</p> ???<p>14</p></div><div id="text"></div></body></html>
滚动距离
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>window.onload</title> ???<!-- ?????window.onload ?????注意点: ?????01.在整个页面中只能存在一次,否则后面会覆盖前面 ?????02.页面中所有的内容加载完毕之后才执行! ?????03.没有简写的方法 ???--></head><body><img src="../images/cat.jpg"><script type="text/javascript"> ???//alert("页面没有加载完毕就可能执行!"); ???window.onload=function(){ ???????alert("页面中所有的内容加载完毕之后才执行!"); ???}</script></body></html>
window.onload
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title>滚动距离</title> ???<style type="text/css"> ???????*{margin:0;padding: 0;} ???????#box{ ???????????position: absolute; ???????????top: 0px; ???????????left: 0px; ???????} ???</style> ???<script type="text/javascript"> ???????window.onload = function () { ???????????var box=document.getElementById("box"); ???????????var time=null,x= 1,y= 1,speed=5; ???????????function go(){ ???????????????//水平方向 ???????????????if((box.offsetLeft+box.offsetWidth)>document.documentElement.clientWidth){ ???????????????????x=-1; ???????????????} ???????????????if(box.offsetLeft<0){ ???????????????????x=1; ???????????????} ???????????????box.style.left=box.offsetLeft+x*speed+"px"; ???????????????//垂直方向 ???????????????if((box.offsetTop+box.offsetHeight)>document.documentElement.clientHeight){ ???????????????????y=-1; ???????????????} ???????????????if(box.offsetTop<0){ ???????????????????y=1; ???????????????} ???????????????box.style.top=box.offsetTop+x*speed+"px"; ???????????} ???????????//定时函数 ???????????time=setInterval(go,100); ???????????//鼠标移上去 停止 ???????????box.onmousemove=function(){ ???????????????if(time!=null){ ???????????????????clearInterval(time); ???????????????} ???????????} ???????????//鼠标离开 ?继续移动 ???????????box.onmouseout=function(){ ???????????????time=setInterval(go,100); ???????????} ???????} ???</script></head><body><div id="box"> ???<img src="../images/cat.jpg" height="200px" width="200px"></div></body></html>
滚动距离

js操作DOM对象

原文地址:http://www.cnblogs.com/wwlw/p/7773745.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved