【JavaScript】Bom对象和Dom对象

BOM:Browser Object Model(浏览器对象模型)

就是在JS代码中可以直接使用的对象,但是对象都是和浏览器有关的

Example:

<script>
    window.close();
</script>

(1)Window:对象表示浏览器中打开的窗口 最顶层对象(******)

window的方法都可以省略window

常用:

alert();   :弹出一个提示框.

confirm(); :弹出一个确认框

prompt();  :输入框

setTimeout();定时 执行一次就ok了

setInterval();定时 循环执行

clearTimeout();清除定时

clearInterval();清除定时

open():打开一个新窗口

close():窗口关闭了.

(2)Navigator :浏览器对象(获取浏览器=客户机的信息)

常用:

navigator.appName  浏览器的名

(3)Screen: 屏幕对象

常用:

width

height

(4)History:浏览器历史对象

常用:

- 到访问的上一个页面
history.back();
history.go(-1);

- 到访问的下一个页面
history.forward();
history.go(1);

(5)Location:地址对象

常用:

location.href  url地址(可以获取 或 设置)

 

Dom:document object model: 文档对象模型

对象都是和文档相关的(html / xml)

Dom首先对HTML的解析过程:

解析完就得到一个

代表整个HTML文档document对象

而这些可以单独存在的标签(html / body / head / title / span)就叫做标签对象(element对象)

属性对象(id)和文本对象(文本)因为不能单独存在,还是要依赖标签对象,所以就没有给它们专门的对象

而不管element对象还是属性对象还是文本对象都是节点

所以Node节点对象是这些对象的父对象

这个对象的用途:当标签对象、属性对象、文本对象找不到要的方法的时候,就去它们的父类Node节点对象去找(同java)

** Document常用方法

(1)write()方法:

向页面输出变量(值)

向页面输出html代码

var str = "abc";
document.write(str);
document.write("<hr/>");
     

(2)getElementById();

通过id得到元素(标签)
使用getElementById得到input标签
        

(3)getElementsByName();

通过标签的name的属性值得到标签
返回的是一个集合(数组)          

(4)getElementsByTagName("标签名称");

通过标签名称得到元素
          

 

 

** Element常用方法

(1)getAttribute(“属性的名”);  

获得属性的值

element.id 和 element.getAttribute("id")作用相同-->一般这么用方便但是对于某些关键字(class)就用不了了

 

(2)setAttribute(“属性名”,”属性值”);

添加和修改

(3)removeAttribute(“属性名”);

移除属性

不能删除value属性

(4)在标签下查找标签

在标签下查找标签 只有getElementsByTagName(); 是唯一有效的方法

childNodes:获得所有的子节点.不是所有的浏览器都兼容(有些会把空格和换行也当做节点)

 

 

 

** Node常用方法

Node包括以下三种节点

元素节点(element)

nodeName:标签名  

nodeType: 1 

nodeValue:没有 null

属性节点(element.getAttributeNode("属性名"))

nodeName: 属性名  

nodeType: 2  

nodeValue:属性的值

文本节点(element.firstChild)

nodeName: #text  

nodeType: 3   

nodeValue:文本内容

PS:这里的父节点、子节点只针对元素(标签)操作,属性是另外来取的

比如在此html中<span id="spanid">haha</span>

var span = document.getElementById("spanid");

alert(span.firstChild.nodeValue);

就会得到haha

所以firstChild指的是代表text

猜你喜欢

转载自blog.csdn.net/TypantK/article/details/82723956