查找显示属性为block的元素id

Find id of element where display property is block

本文关键字:元素 id block 显示 属性 查找      更新时间:2023-09-26

是否可以返回显示属性属性为'block'的元素的id ?

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; });

上面给出的解决方案在页面中搜索元素,然后只保留那些具有计算显示block的元素。

您可以使用:

Javascript

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

<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>

请参考提琴:"http://jsfiddle.net/UAYWD/21/"

纯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/

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