浅谈BOM和DOM

 我们知道,JS由三部分组成:

其中ECMAScript是一种脚本程序设计语言,往往被称为“javascript”。

————————————————————————————————————

                                                         [DOM]

DOMDocument Object Model,文档对象模型。描述了处理网页内容的方法和接口。

DOM以一种树形结构表示HTML文档。其中,结点=元素。


下面我们使用DOM对元素进行操作。

 

获取

解释:获取HTML文档的一个特定元素并且返回一个对它的引用。

举个通过ID获取元素的栗子:

<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
     <title>Get By Id</title>
     <script type="text/javascript">
      function checkhref(){
      	var a1=document.getElementById("w");
      	alert(al.href);
      }
     </script>
</head>
	
<body οnlοad="checkhref();">
<p>内容</p>
<p>link to the <a id="w" href="www.baidu.com">w</a></p>
</body>
</html>

执行结果为:

代码解析:

1)用getElementById()方法获取到了id=w”的元素<a>

2)访问了它的属性

还有一个通过标签名来获取的方法getElementsByTagName(),使用方法类似,不再赘述。

两者的区别:前者适合于单个元素的获取,后者适合于多个元素,小编认为,其的区别类似于CSSidclass的区别。

操作

JS中,我们可以用getAttribute()方法和setAttribute()方法来获取和设置属性。

vara1=document.getElementById("w");
alert(a1.getAttribute("href"));

下面举个用jquery代码来获取和修改属性的栗子,其中用了attr()函数。

<!doctype html>
<html>
<head>
    <title>Set Attrib</title>
	<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
</head>
<body>
<a href="http://www.braingia.org" id="braingialink">Steve Suehring's Web
Site</a>
<script type="text/javascript">
    alert($("#braingialink").attr("href"));
    $("#braingialink").attr("href","http://www.microsoft.com");
    alert($("#braingialink").attr("href"));
</script>
</body>
</html>

创建

下面举一个添加元素<p>并设置其ID的栗子:

<!doctype html>
<html>
<head>
    <title>Create</title>

</head>
<body>
    <script type="text/javascript">
    var newelement = document.createElement("p");
    document.body.appendChild(newelement);
    newelement.appendChild(document.createTextNode("Hello World"));
    </script>
</body>
</html>

运行结果为:


代码解析:

1)通过createElement()方法为文档创建一个新元素<p>

2setAttribute的作用是为新元素添加了一个id属性。

3appendChild()方法用于将这个新元素添加到文档中

4createTextNode()方法起到的是“以防万一”的作用,如果<p>元素中没有文本,就会显示其内的内容,比如在这个小栗子中,显示的便是“Hello World

值得一提的是,这只是在js中为元素添加id属性,在jQuery中使用attr()函数即可。

删除

语法为:

document.body.removeChild();

————————————————————————————————

                                                             [BOM]

BOMBrowser Object Model,浏览器对象模型。描述了与浏览器进行交互的方法和接口


windows对象孩子的作用为:

对象名

作用

备注

Self

返回对窗口自身的只读引用

 

Document

对页面内所有HTML元素的访问

 

Navigator

检测访问者浏览器和环境的各种元素,比如正在使用哪个浏览器

 

Screen

获取屏幕信息,如获取屏幕的高度

 

forms

表单

 

history

提供了通过访问者浏览历史向前和向后移动的方法

 

location

使我们能够访问当前载入的URI

 

———————————————————————————————————————

                                                                     [两者区别]

bom是浏览器对象模型,用来获取或设置浏览器的属性、行为。例如:新建窗口、获取屏幕分辨率、浏览器版本号等

dom是文档对象模型,用来获取或设置文档中标签的属性,例如获取或者设置input表单的value

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡夫卡的熊kfk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值