CSS dom 和访问HTML的方法

节点操作:访问、属性、创建

(1)节点的访问:firstChild、lastChild、childNodes、parentChild(父子节)

              可以使用元素对象的方法进行代替:getElementById()getElementsByTagName()

(2)节点属性的操作:setAttribute()、removeAttribute()、getAttribute()

(3)节点的创建、删除、追加:

创建节点:document.createElement(tagName)

              删除节点(必须父节点下的子节点才能被删除):parentObj.removeChild(nodeObj)

              追加节点:parentObj.appendChild(nodeObj);

 

CSS DOM

核心:就是给一个元素对象,增加样式(外观)。

概述:每一个HTML标记都有一个style属性,它对应元素元素的style属性,该style属性是一个对象

       Style对象有哪些属性:style对象的属性,与CSS中的属性一一对应。

       obj.style.border = “1px solid #FF0000”

       obj.style.width = “400px”; //CSS一定要加单位

       obj.style.position = “absolute”;

      

 

<img id=img  />是一个HTML标记,它的属性有:src widthheightaltborderstyletitle

每一个标记都对应一个元素对象元素对象的属性与标记的属性一模一样。

var obj = document.getElementById(“img”);

obj.src = “images/bg.gif”;

obj.width =400;

obj.border =1;

obj.style = “padding:20px;”

 

CSS属性与style对象的属性的转换问题

(1)如果是一个单词的属性,CSS与style属性一模一样;如:obj.style.width = “400px”

(2)如果是多个单词的属性,转成style对象属性时,转换规则是:第一个单词全小写,后面的单词首字母大写,并且去掉中间的连接线(-)

       举例:

                     background-color   转换后     obj.style.backgroundColor= “#FF0000”

                     font-size          转换后     obj.style.fontSize = “18px”

                    

       //获取id=box的对象

       var obj = document.getElementById("box");

       //id=box的对象增加样式

       obj.style.width = "400px";

       obj.style.height = "300px";

       obj.style.border = "2px dotted #ccc";

       obj.style.backgroundColor = "#f0f0f0";

       obj.style.margin = "50px auto";

       obj.style.fontSize = "24px";

       obj.style.color = "#FF0000";

 

 

HTML DOM

一、HTML DOM的特性

       (1)每一个HTML标记,都对应一个元素对象。每个标记,都是一个对象,是一个节点。例如:<img>对应一个img对象,一个<table>标记,对应一个table对象,一个<form>标记,对就form对象等。

       (2)HTML标记的属性,与元素对象的属性一模一样。

              <img>标记属性:srcwidthborderheight

              imgObj.src = “images/bg.gfi”;

              imgObj.width = 400;

              imgObj.height = 300;

              imgObj.border = 2;

 

 

二、访问HTML元素的方法总结

1、通过document对象的getElementById()方法来访问,返回一个对象

       <div id=”box”></div>

       var obj = document.getElementById(“box”);   //获取对象

       var img = document.createElement(“img”);    //  创建节点

       img.src = images/img01.jpg;   //使用元素对象的属性

       img.border = 2;

       img.style.padding= “10px”;  //使用style对象来增加样式

       img.style.float = “left”;

       obj.appendChild(img); //img节点,追加到id=box中去

2、通过父元素的getElementsByTagName()方法来访问,返回一个数组对象

       语法结构:var arrObj =document.getElementsByTagName(“li”)

       功能描述:取得标记为<li>的一个数组(标记列表)。

       举例:取得一个<ul>标记中的所有的<li>标记

              //获取id=ul的对象

              var ulObj =document.getElementById("ul");

              //取得所有的li对象的一个数组

              var arrLi = ulObj.getElementsByTagName("li");

              //修改第二个和第四个li的样式

              arrLi[1].style= "font-size:24px;color:#ff0000;";

              arrLi[3].style.textDecoration= "underline";

 

3、通过name属性来访问(一般用于表单元素)

       onsubmit事件:当单击“提交按钮”时,发生的事件。事件的返回值,直接决定默认动作的执行。

       onsubmit的返回值,如果为true或空,则表单提交;如果为false,则阻止表单提交。(下午详细讲)

<form name="form1"action="login.php" method="post" οnsubmit="return checkForm()">

    用户名:<inputtype="text" name="username" />

    密码:<inputtype="password" name="password" />

    <inputtype="submit" value="提交表单" />

</form>

<script type="text/javascript">

function checkForm()

{

    //取到表单中各元素

    if(document.form1.username.value == "")

    {

           window.alert("用户名不能为空");

           returnfalse;

    }elseif(document.form1.password.value.length == 0)

    {

           window.alert("密码不能为空");

           returnfalse;

    }else

    {

           returntrue;

    }

}

</script>

 

元素对象的属性

tagName:取一个标记的名称,同 nodeName 一样;

innerHTML:指标记对中的HTML文本(含有HTML标记的文本),一般指双边标记;比如:<h2>二级标题</h2>

style:对应HTML标记的style属性;

id:对应HTML标记的id属性;

offsetWidth:指元素的宽度,不含滚动条中的内容;

offsetHeight:指元素的高度,不含滚动条中的内容,是只读属性;

scrollWidth:指元素的总宽度,含滚动条中的内容;

scrollHeight:指元素的总高度,含滚动条中的内容;

scrollTop:指内容向上滚动进去的距离,如果没有滚动条,则值为0;

scrollLeft:指内容向左滚动过去的距离,如果没有滚动条,则值为0;

 

onscroll事件:当内容滚动时,发生的事件。

综合案例:书读快递

核心代码:

var timer = window.setInterval("scrollUp()",50);

function scrollUp()

{

       if(dome.scrollTop >= dome.offsetHeight)

       {

              dome.scrollTop= 0;

       }else

       {

              dome.scrollTop++;

       }

}

 


Event DOM

主要目的:实现鼠标或键盘与网页进行交互。

实例:通过鼠标单击图片,实现放大图片

<img id=“img01” src=“images/01.jpg” onclick=“changeBig()”  />

function changeBig()

{

       //先取得对象

       Var obj = document.getElementById(“img01”);

       //将图片的宽度修改为原始大小的2

       obj.style.width = obj.offsetWidth*2;

}

 

二、事件和事件句柄

       什么是事件呢?一般指鼠标干什么了,鼠标的动作。比如:单击(click)、双击(dbclick)、鼠标放上(mouseover)、鼠标移开(mouseout)等

       什么是事件句柄?每个事件都对应一个事件句柄属性,该属性是HTML标记的事件属性。

              单击(click)   ——  事件句柄属性 onclick

              双击(dbclick)  ——  事件句柄属性 ondbclick

              鼠标放上(mouseover)  ——  事件句柄属性 onmouseover

 

三、事件模型的分类

事件模型分类:基本事件模型、DOM事件模型、IE事件模型

1、基本事件模型:定义了一些常用事件。

       onclick单击事件

       ondbclick双击事件

       onload网页加载完成,一般用于<body>元素

       onchange:当内容发生改变时,一般用于选择上传文件

       onscroll:当移动滚动条时(只要可能出现滚动都可以)

       onmouseover:当鼠标放上时

       onmouseout:当鼠标移开时

       onsubmit:当单击“提交按钮”时(用于submit按钮)

       onreset:当单击“重置按钮”时(用于reset按钮)

       onfocus:当文本框获得焦点(鼠标光标在文本框中点击)

       onblur:当文本框失去焦点(鼠标光标在文本框之外点击)

       onselect:更改下拉列表中的内容时(用于select表单元素)

2、事件属性的应用

       (1)每个HTML标记都有事件句柄属性。onClickHTML标记属性,不分大小写。

                     例如:<img src=“images/01.jpg” onClick=“init()” />

       (2)HTML标记对应的元素对象也具有事件句柄属性,这个属性必须全小写,因JS区分大小写

                     obj.οnclick= init;    //  init是一个函数的地址,而不能加小括号

                     functioninit(){

                            window.alert(“OK”);

}

注意:(1)元素对象绑定事件的名称必须全小写;(2)元素对象的事件必须调用一个函数,可以是普通函数,也可以是匿名函数。

 

3、事件返回值

       事件返回值,对有些事件,会影响默认动作的执行。如:onclick和onsubmit

      

 上图说明:

1)     当单击<a>时,就将调用show()函数

2)     在show()中根据用户的不同选择,返回不同值。返回的值有两个:true和false。

3)     将show()返回的值,再一次返回onclick事件

4)     onclick事件根据true或false判断,是否要执行默认动作(打开网址)。如果为false,会阻止默认动作执行,为其它则默认动作会继续执行。

 

 

综合案例(当当网):当当推荐“显示/隐藏”

functionshopping_commend_show(obj)

{

       //取得id=shopping_commend_sort的对象

       var content =document.getElementById("shopping_commend_sort");

       if(content.style.display=="block")

       {

              content.style.display="none";

              obj.src = "images/shopping_arrow_up.gif";

       }else

       {

              content.style.display="block";

              obj.src ="images/shopping_arrow_down.gif";

       }

}

 


 

表格对象的属性

rows:行的列表,应该是一个数组。例如:tableObj.rows

cells:单元格列表,应该是一个数组。例如:trObj.cells

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值