1.js操作css样式
div.style.width="100px",在div标签内我们添加了一个style属性,并设定了width值。这种写法会给标签带来大量的style属性,跟实际项目是不符。
我们没让css和html分离。
所以如果是为了获取css样式
window.getComputedStyle()获取经过计算机计算的所有的属性
就是只要渲染出来的都是经过计算的。
getComputedStyle()第一个参数是当前元素,第二个一般我们写null
并且这个方法是只读,
ie6-8不支持这个用法,ie的是用currentStyle
2.try{
}catch(error){}不报错执行try里面的代码块,报错执行catch里面的代码块。
前提条件是不报错,如果不是报错不能使用
var csss;
try{
csss=window.getComputedStyle(aa,null)
}catch(e){
csss=aa.currentStyle
}
console.log(csss)
总结
js解决兼容的方法
1 .||
var dd=document.documentElement.clientWidth||document.body.clientwidth
2.if()else{}
if(window.getComputedStyle){
csss=window.getComputedStyle(aa,null)
}else{
csss=aa.currentStyle
}
console.log(csss)
3.try{}catch(err){}
必须在报错的条件下,和if else比较性能上比较差,不在万不得以的情况下不使用
只读 可写
只读:只能获取不能修改
可写:可以修改的
null和undefined的区别
null和undefined都表示没有值
null是这东西天生存在的但是没有赋值
比如
var aa=document.getElementById("aa")
console.log(aa.parentNode.parentNode.parentNode.parentNode) null
undefined这个东西压根就不存在的事认为定义的并且没有赋值。
1.var a;undefined
2.div.aa undefined
元素节点的树状图
document>documentElement>body>tagName
offsetLeft/offsetTop 结合运动
滚动轮播