元素的属性

标签  元素  节点  对象所有标签的集合

  元素属性

      client系列                                 

   offset系列

   scroll系列

  案列:

  <div id="divs" class="aa bb cc">

    

  </div>

  脚本代码:

  var div=document.getElementById("divs");

  console.log(div)

  div.attribute    是所有标签属性构成的集合

  div.class.list是是所有class名构成的数组集合

  在classList的原型链上可以看到                    (__proto__原型链)

  add()   可以单独添加样式名

  remove()      可以删除样式名;

  写法:

  div.classList.add("dd");

  div.classList.remove("aa");

  div.className="hehe"     (将对class重命名);

  client系列

  clientWidth/clientHeight 是我们设置的宽和高加上内边距(没有边框)

  clientLeft/clientTop    是我们设置的边框值

  offset系列

  offsetHeight/offsetWidth  是我们设置的宽和高加上内边距和外边距

  offsetLeft/offsetTop  是元素外边距离父级的内边距的距离(特殊)可以做案列

  他的父级是由定位决定的      ie7为0   标准浏览器值为8

  offsetparent属性(  返回这个元素的父级)

  scroll系列;     (overflow:auto     当内容超出后,就会有滚动条)

  scrollHeight/scrollWidth               是我们设置宽和高加内边距(内容没有溢出的情况下,如果溢出(超出范围)按内容来定);

  scrollTop/scrollLeft              滚动条卷走的宽度和高度

  offsetTop/offsetLeft的参照物是父级身上的position:absolute/fixed   这个属性决定的,如果父级没有就逐层向上查找直到body为止,

  position:relative;是相对于自己;

  position:absolute/fixed 是相对于父级做运动,如果我们设置小数,都会向上取整;

  运动的三要素:时间  速度  距离

  案例:

  offset 往往和我们做的运动有关

  offset 必须和position配合使用,往往这个值必须是absolute

  offsetLeft/offsetTop有初始值,在标准浏览器下是8px,低版本为0

  console.log(document.body.offsetWidth)

  document.body 获取是文档中body标签

  document.document.Element 获取文档中的根节点

  document.body.clientWidth   1077    (浏览器自带8px的外边距)(如果想让他们边距一样,在css中去边距)*{margin:0 ;padding:0;}

  document.document.Element.clientWidth   1098     

  兼容性:ie6及以下不支持document.document.Element的写法;

  兼容的写法:

  var s=document.documentElement.clientWidth||document.body.clientWidth

  获取浏览器窗口可见区域的高度:

    document.body.clientHeight||document.documentElement.clientHeight

  获取body整个文档的高度:

    document.body.scrollHeight||document.documentElement.scrollHeight

 

原文地址:https://www.cnblogs.com/gdqx/p/9985059.html