javascript怎样判断元素是块级元素还是内联元素?
PHPz
PHPz 2017-04-10 16:13:10
[JavaScript讨论组]

使用javascript判断一个元素是块级元素还是内联元素的方法,主要是为了显示或隐藏一个元素,该怎么做?

PHPz
PHPz

学习是最好的投资!

全部回复(4)
阿神

@etianqq 按照你的思路,稍微做了一些兼容,主要封装了一个获取元素的属性的函数getStyle(obj, attr),因为getComputedStyle实际上是火狐使用的。

function getStyle(obj, attr) {
    if (obj.currentStyle) {
        return obj.currentStyle[attr];
    }
    else {
        return getComputedStyle(obj, false)[attr];
    }
}

html

<p id="block">element1 element1 element1</p>
<span id="span">element2 element2 element2 </span>

js

 var  block=document.getElementById('block');
 var  span=document.getElementById('span');

    console.log(getStyle(block,'display'))
    console.log(getStyle(span,'display'))

    function getStyle(obj, attr) {
        if (obj.currentStyle) {
            return obj.currentStyle[attr];
        }
        else {
            return getComputedStyle(obj, false)[attr];
        }
    }

output

element1: block
element2: inline
PHP中文网

利用Window.getComputedStyle()取得元素的style对象,然后查看display属性。
HTML:

<p id="elt1">element1</p>
<span id="elt2">element2</span>

JS:

var elt = document.getElementById("elt1");
console.log(window.getComputedStyle(elt).display);
elt = document.getElementById("elt2");
console.log(window.getComputedStyle(elt).display);

Output:

element1:block
element2:inline
怪我咯

毫无应用场景的问题

PHPz

设置css类 hidden.

.hidden,
[hidden] {
  display: none !important;
}

隐藏的元素add一个hidden属性, 显示的时remove hidden属性。这样就不用纠结了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号