js--------BOM与DOM

BOM: browser object model

核心对象就是window


计算HTML文档显示的高度和宽度:FF下是window.innerWidth和window.innerHeight,IE下是document.body.offsetHeight和document.body.offsetWidth


window.open(url,name),打开一个新窗口

参数url:如果url跨域父子窗口将禁止通信,很明显的安全原因。并且最好是响应用户事件打开窗口,不然会被当成弹窗。

参数name:_blank始终新窗口,_self始终自己,随意起个名字,打开唯一一个叫这个名字的窗口,这个属性在target的时候用到

window.close()  关闭js自己打开的窗口,不然ie会提示是否关闭ff没反应,使用open的返回值关闭,比如w.close()


父子通信:父窗口打开子窗口会返回子窗口对象,子窗口内有一个属性opener,和function的caller类似,然后就实现通信了。

iframe通信:父窗口内得到iframe对象后有个属性contentWindow得到子窗口window对象,iframe的窗口有window.parent得到父窗口对象,同样跨域会有问题,而且一定要有onload事件,因为加载不是同步的。


DOM:document object model,说穿了就是一棵树,用js操作树上面的节点

节点分为元素节点和文本节点,注意空白文本在w3c里也是节点,但ie会无视这些文本节点

节点有的属性:nodeType(元素返回1文本返回3) nodeName(元素返回tagName文本返回特殊值#text) nodeValue(元素返回空文本返回文本)

得到这些元素节点:document.getElementById()          document.getElementsByTagName()

然后一些节点关系属性:firstChild lastChild  nextSibling  previousSibling  childNodes  parentNode

对节点的操作:removeChild        appendChild    insertBefore

设置属性:点运算符直接可以设置,但遇到关键字class等就得变化(class变成className);还有个方法就是函数setAttribute()和getAttribute(),类似oop的accessor和mutator,但这个也得转换。ie下还是得className



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值