JavaScript7

https://www.w3school.com.cn/js/index.asp

1.JavaScriptHTML DOM

HTML--html标记

JavaScript---JavaScript对象/变量

我们现在需要通过JavaScript来改变html来改变html标记所呈现的样子/样式/位置等等。那么我们就需要将html标记转换成javascript对象

将html标记转换成javascript对象--html DOM对象

DOM(文档对象模型)

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。

通过这个对象模型,JavaScript获得创建动态HTML的所有力量:

javascript能改变页面中的所有HTML元素

javascript能改变页面中的所有HTML属性

javascript能改变页面中的所有CSS样式

javascript能删除已有HTML元素和属性

javascript能添加新的HTML元素和属性

javascript能改变页面中的所有已有的HTML事件作出反应

javascript能在页面中创建新的HTML事件

通过HTMLDOM,Javascript能够访问和改变HTML文档的所有元素。

JavaScript-HTML-DOM方法

HTML-DOM方法是能够(在HTML元素上)执行的动作。

HTML-DOM属性是能够设置或改变的HTML元素的值。

下面的例子改变了Id="demo"的<p>元素的内容:

<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>
</body>
</html>

getElementbyld方法

getElementbyld方法使用id=demo来查找元素。

innerHTML 属性

//1.得到元素的内容

//var var=document.getElementById("demo").innerHTML;

//alert(val);

//2.改变元素的内容

document.getElementByld("demo").innerHTML="hello“;

HTML.DOM.Document对象

文档对象代表你的网页

如果你希望访问HTML页面中的任何元素,那么访问就是从document对象开始的

查找HTML元素

方法

描述

document.getElementById(id)

通过元素 id 来查找元素

document.getElementsByTagName(name)

通过标签名来查找元素

document.getElementsByClassName(name)

通过类名【class】来查找元素

1.document.getElementByld(id)  通过id查找HTML元素

如果元素被找到,此方法会以对象返回该元素(在myElement中)。

如果未找到元素,myElement将包含null.

当有HTML元素的id相同的时候,只能得到一个。

<script>

            window.οnlοad=function(){

                           document.getElementByld("p1).innerHTML=”hello";

                                }

</script>

2.  document.getElementsByTagName(name) 通过标签名查找 HTML 元素

var p=document.getElementsByTagName("p");

var  temp=1;

for(var i=0;i<p.length;i++){

         p[i].innerHTML="第"+temp+"p元素";

         temp++;

}

名称相同的元素组成一个数组。

3.document.getElementByClassName(name).通过类名查找HTML元素

var class_p=document.getElementByClassName("p2");

    for(var i=0;i<class_p.length,i++){

         class_p[i].style.color="blue";

}

class属性值相同的元素组成一个数组。

改变HTML元素

方法

描述

element.innerHTML = new html content

改变元素的 inner HTML

element.attribute = new value

改变 HTML 元素的属性值

element.setAttribute(attribute, value)

改变 HTML 元素的属性值

element.style.property = new style

改变 HTML 元素的样式

1.innerHTML得到/改变元素文本

	<script>
		window.onload=function(){
			var parray=document.getElementsByTagName("p");
			var temp=1;
			for(var i=0;i<parray.length;i++){
				parray[i].innerHTML="第"+temp+"p元素";
				temp++;
			}
			alert(parray[3].innerHTML);
			}
		</script>

          

2.attribute改变HTML元素的属性值

element.attribute=new value这个语法规则中attribute使用具体的html元素属性名称来代替

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function  addBoder(){
				var tableObject=document.getElementById("mainTable");
				tableObject.border="1px";
			}
			function  addwidth(){
				var tableObject=document.getElementById("mainTable");
				tableObject.width="400px";
			}
			function  addbgcolor(){
				var tableObject=document.getElementById("mainTable");
				tableObject.bgColor="red";
			}
			function  addtrbgcolor(){
				var trObject=document.getElementsByTagName("tr");
				for(var i=0;i<trObject.length;i++){
					if(i%2!=0){
						trObject[i].bgColor="blue";
					}
				}
			}
		</script>
	</head>
	<body>
		<input type="button" value="设置表格的边框" onclick="addBoder();"/>
		<input type="button" value="设置表格的宽度" onclick="addwidth();"/>
		<input type="button" value="设置表格的隔行变色" onclick="addtrbgcolor();"/>
		<input type="button" value="设置表格的背景色" onclick="addbgcolor();"/>
		<table id="mainTable" >
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
		</table>
	</body>
</html>

 得到指定的html元素对应的属性值

function  getborder(){

            var tableObject=document.getElementByld("mainTable")

             alert(tableObject.border);

               }

3. setAttribute(attribute,value)改变HTML元素的属性值

attribute--html元素的属性名称

value---html元素的属性名称取值

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	<script>
			function  addBoder(){
				var tableObject=document.getElementById("mainTable");
				tableObject.setAttribute("border","1px");
			}
			function  addwidth(){
				var tableObject=document.getElementById("mainTable");
				tableObject.setAttribute("width","400px");
			}
			function  addbgcolor(){
				var tableObject=document.getElementById("mainTable");
				tableObject.setAttribute("bgcolor","red");
			}
			function  addtrbgcolor(){
				var trObject=document.getElementsByTagName("tr");
				for(var i=0;i<trObject.length;i++){
					if(i%2!=0){
						trObject[i].setAttribute("bgcolor","blue");
					}
				}
			}
		</script>
	</head>
	<body>
		<input type="button" value="设置表格的边框" onclick="addBoder();"/>
		<input type="button" value="设置表格的宽度" onclick="addwidth();"/>
		<input type="button" value="设置表格的隔行变色" onclick="addtrbgcolor();"/>
		<input type="button" value="设置表格的背景色" onclick="addbgcolor();"/>
		<table id="mainTable" >
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
			<tr><td>1001</td><td>zhangsan</td><td>23</td><td>西安</td></tr>
		</table>
	</body>
</html>

4.element.style.property=new.style得到/设置html元素对应css样式的属性值。

html元素的属性值---出现在HTML开始标记中的属性设置

css样式的属性值---给HTML设置的css样式中的属性。

<img/>

html元素的属性值---出现在html开始标记中的属性。

css样式中的属性值-src【错误】

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!--
		<style>
			#div{
				width:200px;
				height:200px;
				background-color: black;
			}
		</style>
		-->
		<script>
			function testStyleAttr(){
				var divObject=document.getElementById("div");
				var wid=divObject.style.width;
				var hei=divObject.style.height;
				var mycolor=divObject.style.backgroundColor;
				alert(wid+","+hei+","+mycolor);
				divObject.style.width="400px";
				divObject.style.height="400px";
				divObject.style.backgroundColor="red";
			}
		</script>
	</head>
	<body>
		<input type="button" value="测试修改样式属性" onclick="testStyleAttr();" />
		<div id="div" 
		        style="width:200px;height:200px;background-color: black;">
		</div>
		<!--
		<div id="div"></div>
		-->
	</body>
</html>

添加和删除元素

方法

描述

document.createElement(element)

创建 HTML 元素

document.removeChild(element)

删除 HTML 元素

document.appendChild(element)

添加 HTML 元素

document.replaceChild(element)

替换 HTML 元素

document.write(text)

写入 HTML 输出流

createTextNode(text)

创建文本元素

 添加和删除元素节点(html元素)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			/*
			function testElement(){
				var pobj=document.createElement("p");
				alert(pobj);
			}
			*/
		window.onload=function(){ 
		   document.getElementById("but").onclick=function(){
			   /*
			  //createElement(element)创建 HTML 元素
			  var pobj=document.createElement("p");
			  //createTextNode(text)创建文本元素
			  var node=document.createTextNode("测试添加p元素的文本值");
			  //将文本元素添加到HTML 元素中
			  pobj.appendChild(node);
			  //根据id得到div对象
			  var divobj = document.getElementById("div1");
			  divobj.appendChild(pobj);
			  */
			 
			 /*错误
			 var pobj=document.createElement("<p>测试添加p元素的文本值</p>");
			 //根据id得到div对象
			 var divobj = document.getElementById("div1");
			 divobj.appendChild(pobj);
			  */
			 
			 /*
			 //document.removeChild(element)	删除 HTML 元素
			  var p1 = document.getElementById("p1");
			  var divobj = document.getElementById("div1");
			  divobj.removeChild(p1);
			  */
			 
			 /*
			 //document.replaceChild(新元素,旧元素)	替换 HTML 元素
			 var pobj=document.createElement("p");
			 var node=document.createTextNode("测试添加p元素的文本值");
			 pobj.appendChild(node);
			 
			 var p1 = document.getElementById("p1");
			 var divobj = document.getElementById("div1");
			 divobj.replaceChild(pobj,p1);
			 */
			
			 document.write("<h1>测试写出一个html元素</h1>")
		   };
		  }
		</script>
	</head>
	<body >
		<!--<input  type="button" value="测试元素的添加" onclick="testElement();"/><br>-->
		<input id="but" type="button" value="测试元素的添加"/><br>
		<div id="div1">
		<p id="p1">这是一个段落。</p>
		<p id="p2">这是另一个段落。</p>
		</div>
		
	</body>
</html>

添加事件处理程序

方法

描述

document.getElementById(id).onclick = function(){code}

向 onclick 事件添加事件处理程序

window.onload=function(){ 
		   document.getElementById("but").onclick=function(){
			   alert("按钮的点击事件");
		   };
		  }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值