77百科网
当前位置: 首页 生活百科

php与javascript的区别(PHP学习第十五天JavaScript入门DOM对象)

时间:2023-08-13 作者: 小编 阅读量: 2 栏目名: 生活百科

onload、onscroll、onchange、onsubmitHTML标记来调用事件,当事件发生时,去执行一项动作。该函数实现一项功能。核心DOM的节点操作firstChild:第一个子节点。核心DOM查找元素并不实用。DOM为HTML提供了专用的方法,就是HTMLDOM。每一个HTML元素的属性,都与元素对象的属性一一对应。

1.昨日回顾

昨日回顾详细内容文章:→文章链接

DOM的概念

W3C的DOM的主要目的:使用程序或脚本可以动态的改变网页的外观、结构、内容。

前台动态网站:一定要结合事件来实现。onload、onscroll、onchange、onsubmit

HTML标记来调用事件,当事件发生时,去执行一项动作。这个动作一般是一个函数。该函数实现一项功能。

客户端脚本:VBScript、JavaScript、ActionScript等

静态网页:HTML CSS

前台技术:HTML、CSS、JavaScript、jQuery、AJAX、XML等

后台技术:PHP、MySQL、smarty模板引擎、yii、ThinkPHP、OOP编程思想、MVC、 APACHE、Linux、Uninux

DOM的分类

核心DOM:提供了一些公共的属性和方法,可以用于操作HTML和XML文档。

HTML DOM:针对HTML文档提供的一些属性方法

XML DOM:针对XML提供的一些属性和方法

CSS DOM:针对操作CSS提供的一些属性方法

Event DOM:可以获取当前鼠标的环境信息,比如: 取得鼠标的坐标

HTML节点树

一个HTML文档只有一个根元素;

子节点、父节点、兄弟节点

HTML文档是一种结构化的文档,是一种有一定层级关系的文档。

核心DOM的节点操作

firstChild:第一个子节点。访问<body>节点 document.firstChild.lastChild

lastChild:最后一个子节点

childNodes:节点列表,是一个数组。

parentChild:父节点

setAttribute(name,value):给某个元素对象,增加一个属性

removeAttribute(name):删除节点属性

getAttribute(name):取到某个节点的属性的值

createElement(tagName):创建一个节点,创建一个HTML标记

parentNode.appendChild(nodeName):给某个父节点,增加一个子节点

parentNode.insertBefore(newObj,oldObj):将某一个节点插入到另一个节点的前面

2.HTML DOM的新特性

核心DOM操作网页中的各元素,可以实现动态的HTML。但是,选择某个元素非常麻烦,特是当层级越深时,操作就更麻烦。核心DOM查找元素并不实用。DOM为HTML提供了专用的方法,就是HTML DOM。

HTML DOM的特性

(1)每一个HTML元素(标记),都对应一个元素对象(对象)。任何HTML标记都对应一个元素对象。

(2)每一个HTML元素的属性,都与元素对象属性一一对应。

举例:

<img id=“obj” src=“images/xingxing.gif” />

<script>

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

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

obj.title= “图片标题”

obj.style = “width:400px;height:300px;”;

obj.border = 1;

obj.class = “img01”3

</script>

3.HTML DOM访问HTML的方法

(1)使用getElementById()方法

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

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

obj.style = “width:400px;height:300px;”

obj.setAttribute(“style”,”width:400px;padding:20px;”);

//给id=box的元素添加一个图片

Var node_img = document.createElement(“img”);

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

obj.appendChild(node_img);

//清除div中所有的内容

obj.innerHTML = “”;

(2)使用getElementsByTagName()方法

含义:取得某一个标记下的所有指定的子标记,返回一个数组类型。

<ul id=“obj”>

<li>北京市</li>

<li>天津市</li>

<li>武汉市</li>

<li>上海市</li>

<li>广州市</li>

</ul>

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

Var arr = obj.getElementsByTagName(“li”); //HTML DOM

Var arr = obj.childNodes; //核心DOM

For(var i=0;i<arr.length;i)

{

arr[i].style = “color:#0000ff;text-decoration:underline;”;

arr[i].setAttribute(“style”,”color:#0000ff;text-decoratin:underline;”);

}

(3)使用name属性

每个HTML标记,都有name属性,一般在表单中使用name来访问。

<form name=“form1”onsubmit=“return checkForm()>

用户名:<input type=“text” name=“username” />

<input type=“submit” value=“提交表单” />

</form>

//对表单中的username进行验证

function checkForm()

{

Var theForm = document.form1;

if( theForm.username.value == “”){

alert(“用户名不能为空”);

return false;

}else if(theForm.username.value.length <5 && theForm.username.value.length > 20)

{

alert(“用户名只能介于5-20之间”);

return false;

}else

{

return true;

}

}

4.元素对象的属性和方法

元素对象就是HTML元素对应的对象,就叫元素对象。

tagName:标记的名称,同nodeName一样。

id:同元素的id属性一样

title:同元素的title属性一样

className:同元素的class属性一样,给元素增加一个类样式

innerHTML:指某个标记中的所有内容,可以包含其它标记。

nodeValue:也指某个文本节点的内容,但只能是纯文本。

offsetWidth:指元素对象的宽度(不含滚动条中的内容)

offsetHeight:指元素对象的高度,里面如果没有内容,则高为0

注意:跟css中的height不太一样,CSS中的height,标记可以没有内容,但height可以设置

offsetHeight必须要有内容,否则高为0.

scrollWidth:包含滚动条中的内容的宽度

scrollHeight:包含滚动条中的内容的高度

scrollTop:指向上滚动过去的距离。

scrollLeft:指向左滚动过去的距离。

offsetTop:指元素距离网页顶端的距离

offsetLeft:指元素距离网页左端的距离

onscroll:当滚动条移动时,执行JS程序。

5.CSS DOM

每一个HTML标记,都具有style属性,相应的,每一个元素对象都具有style属性。style属性是一个对象。

CSS DOM就是通过style对象来访问和操作CSS。

<script>

function init()

{

//取得id=box的对象

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

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

obj.setAttribute(“style”,“width:400px;height:300px;”); //核心DOM中的方法

obj.style = “width:400px;height:300px;”; //HTML DOM中的属性

//使用style对象来增加样式

obj.style.width = “400px”; //给id=box的对象增加一个width的CSS属性

obj.style.height = “300px”; //给id=box的对象增加一个height的CSS属性

obj.style.overflow = “hidden”; //数据溢出则隐藏

obj.style.border = “1px solid #ff0000” //增加边框

obj.style.backgroundColor = “#f0f0f0”; //背景颜色

obj.style.paddingTop = “20px”; //上填充为20px

//往id=box中添加一个<h2>标记,内容随意,标题的颜色为#FF0000

var str = “<h2 style=’color:#ff0000’>广州传智播客欢迎您</h2>”;

str= “<ul id=’obj_ul’>”;

str= “<li>HTML超文本标注语言</li>”;

str= “<li>CSS层叠样式表</li>”;

str= “</ul>”;

obj.innerHTML = str; //将str的内容写入到obj对象中

//求出有多少个<li>标记

var obj_ul = document.getElementById(“obj_ul”);

var arr = obj_ul.getElementsByTagName(“li”);

window.alert(“&lt;li&gt;标记的个数为:” arr.length);

}

</script>

<body onload=“init()”>

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

</body>

CSS的属性转成style对象的属性

(1)如果CSS的属性是一个单词,可以直接写,必须为全小写。如:obj.style.width = “400px”

(2)如果CSS的属性是多个单词用横线连接的,在书写时,将“横线”去掉,并且从第二个单词开始,每个单词的首字母要大写。如:obj.style.backgroundColor = “red”

综合案例:书讯快递

分析结果:

6.综合案例:购物车

onBlur:当鼠标从文本框中移出时触发一个JS函数。

表格对象的属性

rows:取得表格的所有行,是一个数组。如:table.rows

cells:取得表格行的所有单元格,是一个数组。如:tr.cells

    推荐阅读
  • nas 内网穿透推荐(教你免费远程观看nas里的)

    树莓盘本来是为树莓派适配的一个nas系统,深圳的一个团队基于debian开发的。起初是适配了树莓派4B,后来他们又适配了X86电脑。据我所知,对于X86的CPU没有限制,但是最好有2GB运存32G存储,所以搞个工控机就可以上了,优点就是他们现在真的:内网穿透!!!目前支持的功能有:1.内网穿透不限速播放。到了这个界面就表示已经刷机成功,此时可以进行下一步。所以内网穿透做得比较好。

  • 黄焖鸡怎么做好吃(黄焖鸡的做法)

    黄焖鸡怎么做好吃?冬菇洗净,挤去水分,去蒂,切片;鸡蛋打散;,现在小编就来说说关于黄焖鸡怎么做好吃?下面内容希望能帮助到你,我们来一起看看吧!

  • 安徽大学转专业难度排名(38个专业没招满缺额862人)

    2021年高考大省安徽省21年高考报名人数约有54.2万人,本省的高等教育资源其实比较匮乏,所以安徽省的高考竞争压力是比较大的。经过查询数据笔者发现,今年安徽省共有三十多万的考生是无缘本科的。比如今天咱们的主角合肥财经职业学院就是如此,缺额人数高达862人,共有38个专业没有招满人,这所大学也确实是蛮委屈的。地理位置也是蛮不错的,位于安徽省会合肥。

  • 吃动物肝脏能补血吗(这些食物补血功效强)

    动物肝脏含有丰富的铁,是最理想的补血食物之一,可以卤制、爆炒、煮汤,建议和绿色蔬菜搭配。和大家认为补血的红枣一比才知道,动物血制品中的铁含量确实丰富,而且几乎都是血红素铁,极易吸收利用,对补血有很大帮助。乌骨鸡可以温中益气、补肝益肾、延缓衰老、强健筋骨,对于月经不调、女性的缺铁性贫血也有很好的改善作用。硬汉男星被曝出轨后又拒降8750万片酬?来“中国网”官方微信,搜更多猛料

  • 唐人街探案2最洗脑的音乐(盘点唐人街探案2中的背景音乐)

    随着《唐人街探案1》的火爆,大家都对其中的插曲津津乐道,那段慢动作追逐中的《往事只能回味》更是成了电影史上的一个经典。今天跟着我们一起来盘点《唐人街探案2》中背景音乐吧!韩宝仪《粉红的回忆》不得不说,陈导对复古风的把控已经是得心应手了。继《唐人街探案1》中韩宝仪的《舞女》、《往事只能回味》获得观众一致认可后,这首《粉红的回忆》又深得观众的心。

  • 下元节是鬼节吗(下元节是什么节日)

    下元节只是一个传统的祭祀节日。鬼节有中西之分,在中国有很多鬼节,分别有七月半,清明节,三月三,十月初一等。西方鬼节中有墨西哥鬼节等,但最著名的是万圣节。大家在这一天都会举行庆祝的仪式来过下元节。下元节这一天的仪式非常的隆重,人们在这一天里都会放松心情,也代表着忙碌了一年,在这天来放松心情休息休息。

  • 西红柿烩菜花的做法 西红柿炒菜花做法

    3、热锅倒油,先炒菜花,再放入西红柿,翻炒出红汤,用盐、糖、鸡精、胡椒粉调味,倒入一点清水,在小火焖一会儿,即可。

  • 摄影需要向右曝光吗(摄影师为何建议向右曝光)

    曝光直方图是重要的判断曝光情况的辅助功能,能指导我们调整曝光参数获得正确曝光,但不能决定曝光量。向左曝光是避免照片中的亮部细节丢失,故意让照片稍微曝光不足,使得照片中的亮部细节得到保留。

  • 哈弗m6行驶中不停落锁(哈弗M6行驶中气囊自爆)

    《汽车消费报告》日前接到哈弗M6车主孙先生的投诉,讲述了他在开车时的惊魂一幕。事发时,孙先生系了安全带,除了脸部轻微疼痛外,所幸身体并无大碍。车主孙先生认为,是这辆哈弗M6的质量问题导致了事故的发生,长城汽车应该赔偿车损、修车期间的误工费以及自己经受惊吓的精神损失。据悉,这辆哈弗M6是孙先生于2020年11月购于河北省石家庄市某4S店。

  • 苦荞茶暖胃吗(送给爱喝茶的你)

    下面希望有你要的答案,我们一起来看看吧!苦荞茶暖胃吗苦荞茶呈碱性,对胃酸多的病人有好处,苦荞中含有的果胶黏液对消化性溃疡和慢性胃炎的病灶可其到屏障和保护作用。夏季建议多饮苦荞茶,苦荞不仅是一种粮食,更是一种能够清热祛火的健康美食。《本草纲目》记载:苦荞麦性味苦、平寒,能益气力、续精神、利耳目,有降气、宽肠、健胃作用。苦荞有清血下火的作用,被老百姓称为“土四环素”。