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

    推荐阅读
  • 迷你世界经典生存怎么变得很轻松(玩家意外发现新漏洞)

    在迷你世界中,是有很多的道具的,每种道具都有着相应的作用。有的想要获得是相当不容易的。因为他们比较稀缺,因此获得它们的条件有就越难。放好之后,接下来小伙伴就要记清楚了哦。放过之后,走到电能线的后面,将喷射塞子拿出来。不过在拉巨人核心的时候,喷射塞子没有能够将其拉过来。我们将黄金拿出来,将它顶替刚刚的巨人核心。小伙伴们如果不相信的话,可以按照这个方式去试试哦。希望这个漏洞还没有被修复哦。

  • 打印机如何扫描文件到电脑(一起来了解一下)

    下面内容希望能帮助到你,我们来一起看看吧!打印机如何扫描文件到电脑首先掀开打印机盖板。将需要扫描文件的一面放在玻璃面上。在电脑上按下组合键win+s键打开搜索。在搜索栏搜索控制面板并打开。在跳转的页面中选择“扫描”。在弹出的对话框点击“下一步”。点击“导入”即可完成扫描。

  • 电脑共享文件怎么设置(电脑设置共享文件的方法)

    电脑共享文件怎么设置记下自己的电脑名称,具体参看和修改自己电脑名称的方法,可以查看后面的参考资料。鼠标放在建立好的共享文件夹上面,单击右键选择“属性”。然后在出现的窗口中选择“共享”。再选中共享或者高级共享,以高级共享为例子,高级共享可以设置自定义权限选中后在出现的窗口中设置共享文件名,注释等,先点击应用,然后再点击。即可共享成功,我们打开电脑——网络即可看到刚才共享的文件。

  • 云顶六法锐雯怎么玩(阵容装备玩法攻略)

    云顶六法锐雯怎么玩六法锐雯的最终阵容是9人口,锐雯站着最前面,法师们围着泽拉斯和机械先驱。六法锐雯的主要羁绊是六法,六法有卡牌、佐伊、狐狸、辛德拉、机械先驱和泽拉斯组成,六法可以给全体队友增加75%的法强。锐雯和卡牌可以激活未来战士属性,过一段时间就可以为全体队友提供攻速,整体战斗力非常的强。

  • 中粮荆楚花一级菜籽油怎么样(荆楚花小榨浓香菜籽油)

    中粮荆楚花一级菜籽油,油品醇香,少油烟耐煎炸,富含营养,品质优良,是品质很好的菜籽油。荆楚花为中粮旗下专业菜籽油品牌,秉承源自家乡、富

  • “爽爽贵阳 爱乐之城”2024路边音乐会跨年嘉年华燃爆跨年夜!

    12月31日,“爽爽贵阳爱乐之城”2024路边音乐会跨年嘉年华燃爆跨年夜!

  • 怎样克服自卑心理(这三点方法是关键)

    怎样克服自卑心理正确估计自己,培养自信心理造成自卑感的一个重要原因就是对自己认识不足,过低估计自己,因而要克服自卑心理,就要先解决思想认识问题。对于有自卑心理的人来说,既要正视自己的短处,也要挖掘自己的长处,发挥自己的长处,扬长避短,取长补短,以提高自信心,提高自我评价的能力,克服自卑感。并在导致自己自卑的学习问题上选一个突破口,获得成功的心理体验。这是成功消除自卑感的一个重要手段。

  • 近视手术有哪些严重的后遗症(近视患者特别关心)

    事实上,目前应用最为广泛的近视手术主要包括激光矫正手术和人工晶体植入手术两大类。其次,人工晶体植入的手术原理则是将专门定制的人工晶体植入到虹膜与原有晶体之间,这样便可以有效改变眼球总体的屈光度,从而实现治疗近视的目的。因此有的人也会将人工晶体植入手术戏称为内置“近视镜”植入手术。不过无论是激光矫正手术还是人工晶体植入手术,目前的手术成熟度都是非常高的,且这两类手术本身的操作难度都不高。