通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。

HTML DOM

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

每个标签都可以称为节点,

DOM,的主要作用是,使得HTML之间的元素关系更加直观。

一、查找 HTML 元素

通常,通过 JavaScript,您需要操作 HTML 元素。

为了做到这件事情,您必须首先找到该元素。有三种方法来做这件事:

  • 通过 id 找到 HTML 元素
  • 通过标签名找到 HTML 元素
  • 通过类名找到 HTML 元素

1. 通过 id 查找 HTML 元素

在 DOM 中查找 HTML 元素的最简单的方法,是通过使用元素的 id。

查找 id="intro" 元素:

var x=document.getElementById("intro");
 

2. 通过标签名查找 HTML 元素

查找 id="main" 的元素,然后查找 "main" 中的所有 <p> 元素:
var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
 

二、改变 HTML 内容

修改 HTML 内容的最简单的方法时使用 innerHTML 属性。

如需改变 HTML 元素的内容,请使用这个语法:

document.getElementById(id).innerHTML=new HTML
列:
 
<p id="p1">Hello World!</p>

<script>
document.getElementById("p1").innerHTML="New text!";
</script> <p>上面的段落被一条 JavaScript 脚本修改了。</p>

三、改变 HTML 属性

如需改变 HTML 元素的属性,请使用这个语法:

document.getElementById(id).attribute=new value
实例

本例改变了 <img> 元素的 src 属性:

<img id="image" src="/i/eg_tulip.jpg" />

<script>
document.getElementById("image").src="/i/shanghai_lupu_bridge.jpg";
</script> <p>原始图片是郁金香(eg_tulip.jpg),但是已被修改为卢浦大桥(shanghai_lupu_bridge.jpg)。</p>

四、HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。

DOM事件,

对事件做出反应

我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。

如需在用户点击某个元素时执行代码,请向一个 HTML 事件属性添加 JavaScript 代码:

onclick=JavaScript

HTML 事件的例子:

  • 当用户点击鼠标时
  • 当网页已加载时
  • 当图像已加载时
  • 当鼠标移动到元素上时
  • 当输入字段被改变时
  • 当提交 HTML 表单时
  • 当用户触发按键时

1)onclick 事件

<h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>

onclick也可以调用函数,function

<script>
function changetext(id)
{
id.innerHTML="谢谢!";
}
</script>
</head>
<body> <h1 onclick="changetext(this)">请点击该文本</h1>

onclick,也可应用与button标签

2)onload 和 onunload 事件

onload(进入页面) 和 onunload(离开页面) 事件会在用户进入或离开页面时被触发。

onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。

onload 和 onunload 事件可用于处理 cookie。

实例
<script>
function checkCookies()
{
if (navigator.cookieEnabled==true)
{
alert("已启用 cookie")
}
else
{
alert("未启用 cookie")
}
}
</script>

onunload:

<script>
function checkCookies()
{
window.open("http://www.baidu.com")
}
</script> <p>离开页面时会自动打开baidu页面</p>

注意,onunload,有可能被一些浏览器当做广告自动拦截。

3) onchange 事件

onchange 事件常结合对输入字段的验证来使用。只有当光标离开时才会触发

下面是一个如何使用 onchange 的例子。当用户改变输入字段的内容时,会调用 upperCase() 函数。

实例
function myFunction()
{
var x=document.getElementById("fname");
x.value=x.value.toUpperCase();
}
</script>
</head>
<body> 请输入英文字符:<input type="text" id="fname" onchange="myFunction()">
<p>当您离开输入字段时,会触发将输入文本转换为大写的函数。</p>

4)onmouseover 和 onmouseout 事件

onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。

实例

一个简单的 onmouseover-onmouseout 实例:

<!--onmouseover="mOver(this)"中的this是传入当前元素-->
<div onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:#000;width:120px;height:20px;padding:40px;color:#ffffff;">把鼠标移到上面</div> <script>
function mOver(obj)
{
obj.innerHTML="谢谢";
} function mOut(obj)
{
obj.innerHTML="把鼠标移到上面"
}
</script>

5)onmousedown、onmouseup 以及 onclick 事件

onmousedown(当鼠标点下去没有松开时), onmouseup(鼠标松开后) 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。

实例
<div onmousedown="mDown(this)" onmouseup="mUp(this)" style="background-color:green;color:#ffffff;width:90px;height:20px;padding:40px;font-size:16px;">请点击这里</div>

<script>
function mDown(obj)
{
obj.style.backgroundColor="#1ec5e5";
obj.innerHTML="请释放鼠标按钮"
} function mUp(obj)
{
obj.style.backgroundColor="green";
obj.innerHTML="请按下鼠标按钮"
}
</script>

点击之前:

点击鼠标时,没有松开

松开鼠标后

6)onfocus 当输入字段活的焦点时,改变其背景色,

<script>
function myFunction(x)
{
x.style.background="yellow";
x.value="";
}
</script>
</head>
<body> 请输入英文字符:<input type="text" onfocus="myFunction(this)" value="输入用户名"> <p>当输入字段获得焦点时,会触发改变背景颜色的函数。</p>

焦点 : 鼠标变成 大写的 I

五、JavaScript HTML DOM 元素(节点)

可以添加或删除节点(HTML元素)。

1)添加新的节点(HTML元素)

如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。

<script>
/*注意 这段代码不可以写在<head></head> 内,如果在head内,网页加载时会先加载这个 script ,但是它无法获取到body和body内的标签等*/
/*createElement 创建标签。
createTextNode 创建文本*/
var p = document.createElement("p");/*创建标签 p*/
var f = document.createElement("font");/*创建标签 font */
var t = document.createTextNode("Hello World!");/*创建文本 Hello World!*/ p.appendChild(f);/*将变量 f 追加到变量 p*/
f.appendChild(t);/*将变量 t 追加到变量 f*/
var bd = document.body;/*获取body标签*/
bd.appendChild(p);/* 将变量 p 追加到变量bd*/
</script>

2)删除已有的 HTML 元素

<div>
<p id="p1">测试一</p>
<p id="p2">测试二</p>
<p id="p3">测试三</p>
</div>
<!--以上事先创建好的文字-->
<script>/*方法1*/
var parent = document.getElementById("div1");/*先找到要删除标点的父级标签id*/
var child = document.getElementById("p1");/*找到需要删除的标签id*/
parent.removeChild(child);/*删除标签*/
</script>
<script>/*方法2*/
var child=document.getElementById("p3");/*找到要删除的节点标签id*/
child.parentNode.removeChild(child);/*Node是节点意思, 删除父节点中的 child,即子节点p3*/
</script>

20141128--JavaScript HTML DOM的更多相关文章

  1. javascript --- javascript与DOM

    javascript与DOM: 我们来个例子,一个HTML里包含一段文本和一个无序的列表. <p id="intro">My first paragraph...< ...

  2. JavaScript与DOM

    文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API.Javascript和D ...

  3. Javascript中DOM技术的的简单学习

    第十四课DOM技术概述1:DOM概述 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节 ...

  4. JavaScript与DOM的关系

    JavaScript与浏览器的工作 1.浏览器获取并加载你的页面,从上至下解析它的内容. 遇到JavaScript时,浏览器会解析代码,检查它的正确性,然后执行代码. 浏览器还会建立一个HTML页面的 ...

  5. JavaScript网站设计实践(四)编写about.html页面,利用JavaScript和DOM,选择性的显示和隐藏DIV元素

    一.现在我们在网站设计(三)的基础上,来编写about.html页面. 这个页面要用到的知识点是利用JavaScript和DOM实现选择性地显示和隐藏某些DIV about.html页面在前面我们为了 ...

  6. JavaScript学习笔记(2)——JavaScript和DOM的关系

    文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.DOM实际上是以面向对象方式描述的文档模型.DOM定义了表示和修改文档所需的 ...

  7. JavaScript HTML DOM 元素(节点)

    JavaScript HTML DOM 元素(节点) 创建新的 HTML 元素 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素 ...

  8. JavaScript HTML DOM EventListener

    JavaScript HTML DOM EventListener addEventListener() 方法 实例 点用户点击按钮时触发监听事件: document.getElementById(& ...

  9. JavaScript HTML DOM 事件

    JavaScript HTML DOM 事件 HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应. 实例 Mouse Over Me 对事件做出反应 我们可以在事件发生时执行 ...

  10. JavaScript HTML DOM - 改变CSS

    JavaScript HTML DOM - 改变CSS HTML DOM 允许 JavaScript 改变 HTML 元素的样式. 改变 HTML 样式 如需改变 HTML 元素的样式,请使用这个语法 ...

随机推荐

  1. 利用KindEditor的uploadbutton实现异步上传图片

    利用KindEditor的uploadbutton实现异步上传图片 异步上传图片最经常使用的方法就是图片在iframe中上传.这样仅仅须要刷新iframe.而不用刷新整个页面.     KindEdi ...

  2. stm32 IAP + APP ==>双剑合一

    (扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级程序做了详细的分析http://blog.csdn.net/yx_l128125/article/details/12 ...

  3. 使用openssl工具生成证书

    第一步. 生成rsa私钥文件 :\> openssl genrsa -out bexio.pem 1024 : 若要加密生成的rsa私钥文件(des3加密) :\> openssl gen ...

  4. IDEA 升级14.1提示org/hibernate/build/gradle/publish/auth/maven/AuthenticationManager:Unsupported major.minor version 51.0

    在看到“Unsupported major.minor version 51.0”这样的错误描述时,就基本可以肯定是jdk版本不正确导致.但是提示的类非业务系统,而是来自IDEA.因此去其官网检索了下 ...

  5. 高性能HTTP加速器Varnish安装与配置

    导读 Varnish是一款高性能且开源的反向代理服务器和HTTP加速器,它采用了全新的软件体系结构,和现在的硬件体系配合紧密.下面就由我给大家简单说说他的安装与配置. 安装 安装pcre 如果没有安装 ...

  6. 关于Android WindowManager显示悬浮窗的动画效果

    要实现WindowManager添加的窗口,实现动画显示,就需要添加如下红色的属性,其他的添加View只要设置其Animations属性也会实现动画,当然自己实现也可,但是能直接用系统的已经实现好的, ...

  7. 如何简单便捷的搭建一个网站 - 基于Django

    一.所需工具以及相关环境 1. 系统:win7,win8.1,win10(亲测可用 - 本文为win7,64位) 2. 本文使用的版本是: 1)python-2.7.11[百度云盘分享:http:// ...

  8. K - 4 Values whose Sum is 0(中途相遇法)

    K - 4 Values whose Sum is 0 Crawling in process... Crawling failed Time Limit:9000MS     Memory Limi ...

  9. 6. Android框架和工具之 JSON解析

    Android进阶笔记17:3种JSON解析工具(org.json.fastjson.gson)

  10. Android adb not responsing

    netstat -aon | findstr "5037" and you will find the process "kadb.exe" that used ...