zoukankan      html  css  js  c++  java
  • element

    element对象对应于网页的HTML标签元素,每一个HTML标签元素,在DOM树上都会转化为一个element节点对象。

    相关遗漏知识点

    1、element.tagName
    返回指定元素的大写标签名,与nodeName属性的值相等


    2、element.innerHTML
    !如果插入的文本包括HTML标签,会被解析为节点插入对象DOM,但如果插入script标签,会生成script标签,但并不会执行。


    3、elemente.classList与element.className
    Element.classList返回一个类似数组的对象,element.className返回一个由该element各class属性值组成的字符串,其中每个class用空格分隔。
    className和classList方法的异同——添加和删除某个类

    Var box=document.getElementById('box');
    //添加
    a、box.className+='bold';
    b、box.classList.add('bold');
    //删除
    a、box.className=box.className.replace(/^bold$/,'')
    b、box.classList.remove('bold');

    盒模型相关属性


    4、client系列
    1)element.clientHeight,element.clientWidth
    返回元素节点可见部分的宽高,即包括padding和width但不包括滚动条边框和margin的值
    对于整张网页来说,当前可见高度,即视口高度要从document.documentElement对象上获取。

    //没有滚动条时
    document.documentElement.clientHeight==window.innerHeight;//true
    //有滚动条时
    document.documentElement.clientHeight<=window.innerHeight;//true,此时等于window.innerHeight减去水平滚动条的高度

    !注意不能用document.body.clientHeight或clientWidth,因为document.body会返回body节点,与视口大小无关。
    2)、element.clientLeft,element.clientTop
    返回元素节点上边框及左边框的宽度值,单位为像素,这两个属性包括滚动条的宽度,但不包括margin及padding。
    !如果元素的显示设为display:inline,其clientLeft属性一律为0


    5、scroll系列
    1)、Element.scrollHeight,element.scrollWidth分别返回某个网页元素的总高度总宽度,包括由于存在滚动条而不可见的部分,默认情况下,他们包括padding,但不包括border和margin

    //不存在溢出
    Box.scrollHeight==box.clientHeight//true
    //存在溢出,且滚动条滚动到内容底部。
    Box.scroolHeight-box.scrollTop==box.clientHeight//true

    如果滚动条没有滚动到内容底部,上面的表达式为false,该特性结合onscroll事件,可用于判断用户是否滚动到了指定元素的底部,比如向用户展示某个内容区块时,判断用户是否滚动到了区块的底部。

    box.onscroll=function(){
    If(this.scrollHeight-this.scrollTop==this.clientHeight{console.log('谢谢阅读')}
    else{console.log('您还未读完')}
    }

    2)、element.scrollLeft,element.scrollTop
    表示网页元素的水平滚动条向右侧、下侧滚动的像素数量,若没有滚动,这俩属性值则为0
    !若要查看整张网页的水平的和垂直的滚动举例,要行document.body元素上读取。
    Document.body.scrollLeft

    6、offset系列
    1)element.offsetHeight,elementoffsetWidth
    这两个属性分别返回元素的垂直高度、水平宽度,这两个属性包括padding和border以及滚动条,注意与element.clientHeight、element.clientWidth区分开,如果没有滚动条,element.offsetHeight只比element.clientHeight多了边框border的高度。

    !整张网页的高度,可以在document.documentElement和document.body上读取。
    2)、element.offsetLeft,element.offsetTop返回当前元素相对于其父节点的水平or垂直位移。
    如何求元素左上角相对于整张网页的坐标呢?

    var getPos=function(e){
    var posX=0,posY=0;
    while(e!=null){
    posX+=e.offsetLeft;
    posY+=e.offsetTop;
    e=e.offetParent;
    }
    console.log({'posX':posX,'posY':posY})
    return;
    }//这样求,前提是均设置相关position
  • 相关阅读:
    NOJ 1116 哈罗哈的大披萨 【淡蓝】 状态压缩DP
    优先队列原理与实现【转】
    testC-I
    济南NOIP冬令营 选拔(select)
    P4747 D’s problem(d)
    P4746 C’s problem(c)
    P4745 B’s problem(b)
    P4744 A’s problem(a)
    [bzoj] 1004: [HNOI2008]Cards
    NOIP2013 表达式求值
  • 原文地址:https://www.cnblogs.com/MelodysBlog/p/10449429.html
Copyright © 2011-2022 走看看