我有几个JavaScript库争夺z-index
霸权,并且希望通过z-index
转储出除了对象类型以外没有任何其他属性的完整元素列表。通过JavaScript记录所有z-索引
运行下面给我只有一个遍历元素:
$('html').each(function() {
console.log($(this).css('z-index') + ': ' + $(this).constructor);
});
我该怎么办呢?
我有几个JavaScript库争夺z-index
霸权,并且希望通过z-index
转储出除了对象类型以外没有任何其他属性的完整元素列表。通过JavaScript记录所有z-索引
运行下面给我只有一个遍历元素:
$('html').each(function() {
console.log($(this).css('z-index') + ': ' + $(this).constructor);
});
我该怎么办呢?
像这样的东西应该工作:
$("*").each(function(k, v){
console.log(v.nodeName + " " + $(v).css("z-Index"));
})
这是第一个完整答案,感谢理查德。我对.css()有足够的信息感到困惑,我认为这是收集层次结构的唯一方法,所以这解决了问题。 –
您现在正在遍历html
元素。你想要做的是使用*
选择器选择的所有元素:
$("*").each(function() {
...
@LeonStafford恩,不,不。当我在评论前运行它时,它返回了969个结果。 – Mathletics
对,你是我的错误。 –
这里是一个解决方案,它读取计算styleheets没有任何第三方框架:
var elems = document.querySelectorAll('*');
for(var i = 0, len = elems.length; i < len; i++) {
var style = window.getComputedStyle(elems[i]);
console.log(elems[i].nodeName, style.getPropertyValue('z-index'));
/* style['z-index'] will also work, but it is better to use the API if there is one, in case something get's changed */
}
谢谢,我欣赏纯JS版本 –
您只选择一个元素。选择所有的东西:'$('*')。each(...)'。 – Mathletics
您可以尝试$(“*”)来获取给定页面上的所有元素。 –
看看你的CSS文件不是更容易吗? –