是否可以返回显示属性属性为' block'?
的元素的id答案 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'));
}
});