找到display属性为block的元素的id

时间:2015-08-11 10:21:38

标签: javascript

是否可以返回显示属性属性为' block'?

的元素的id

4 个答案:

答案 0 :(得分:1)

var nodeList = document.querySelectorAll("*"); // use an appropriate filter
var array = Array.prototype.slice.call(nodeList, 0);
var elements = array.filter(function (element) { return window.getComputedStyle(element).display === "block"; });
var ids =  elements.map(function (element) { return element.id; });

上面介绍的解决方案在页面中搜索元素,然后只保留具有块计算显示的元素。即使样式不是内联的,也能正常工作。

答案 1 :(得分:0)

您可以使用:

的Javascript

<div id="1" style="display:block;">this is div 1</div>    
<div id="2" style="display:block;">this is div 2</div>
<div id="3" style="display:none;">this is div 3</div>

HTML

garbage after JSON object, at character offset 2326471 (before "{"response":{"numFou...") at /usr/local/share/perl5/JSON.pm line 171, <$f> line 1.

请参阅小提琴:“http://jsfiddle.net/UAYWD/21/

答案 2 :(得分:0)

Pure Javascript:

var divs = document.getElementsByTagName('div');
for(var i = 0; i < divs.length; i++) {
    if(divs[i].style.display == 'block'){
        alert(divs[i].id);
    }
}

<div id="div1" style="display:block;">Div 1</div>
<div id="div2" style="display:block;">Div 2</div>
<div id="div3" style="display:none;">Div 3</div>

输出:

DIV1

DIV2

以下是一个例子:http://jsfiddle.net/mhqwaxpw/

答案 3 :(得分:0)

  $("div").each(function(){
       if($(this).css("display")=="block"){
            alert($(this).attr('id'));
       }
    });