Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以使用控制台/警报/其他方法一次读取所有CSS属性吗?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 我可以使用控制台/警报/其他方法一次读取所有CSS属性吗?

Javascript 我可以使用控制台/警报/其他方法一次读取所有CSS属性吗?,javascript,jquery,css,Javascript,Jquery,Css,我正试图在iPad上调试一个站点。在桌面上,一个元素显示,在iPad上,它丢失了 问题: 有没有一种方法可以在一条语句中输出所有CSS,类似于 console.log( $('element').attr('class') ); 或者,找到错误属性的唯一方法是逐个检查所有CSS规则吗 console.log( $('element').css('position') ) console.log( $('element').css('top') ) console.log( $('element

我正试图在iPad上调试一个站点。在桌面上,一个元素显示,在iPad上,它丢失了

问题
有没有一种方法可以在一条语句中输出所有CSS,类似于

console.log( $('element').attr('class') );
或者,找到错误属性的唯一方法是逐个检查所有CSS规则吗

console.log( $('element').css('position') )
console.log( $('element').css('top') )
console.log( $('element').css('left') )
console.log( $('element').css('right') )
console.log( $('element').css('bottom') )
console.log( $('element').css('width') )
console.log( $('element').css('height') )
console.log( $('element').css('display') )
... you get the point...
感谢您的输入

您需要:

getComputedStyle()提供所有CSS的最终使用值 元素的属性

支持所有现代浏览器(包括IE9)

一个简单的例子:

var style = window.getComputedStyle($('element').get(0), null);
jquery.css()比.getComputedStyle工作得更好,因为它考虑了浏览器的差异(并且基于getComputedStyle本身),请参见


这里有一个小插件,它添加了$.fn.computedCSS(),您可以使用它来获得其他人已经提出的建议:

代码:

演示:


使用一些工具远程检查iPad上的页面要容易得多。iOS 6将内置这一功能,但现在没有多大帮助。如果您使用的是Mac,您可以与iOS SDK一起试用。如果没有,你可以去温热看看

  • 安装(免费)和
  • 开放式iWebInspector
  • 单击“打开iOS模拟器”
  • 通过菜单硬件->设备->iPad切换到iPad
  • 打开Safari并转到要调试的页面
  • 在iWebInspector中单击“从Safari加载”,然后选择页面
  • 现在,您应该在iWebInspector中获得WebKit调试器

  • (Webkit Inspector Remote)应该可以在任何平台上工作,而不需要iOS SDK。它不能像真正的调试器那样工作,因为它只注入脚本,并且只能访问通过javascript获得的内容。但这比通过编程打印所有css要容易得多;)有时,在查看元素后,WeInRe不会捕获对DOM的更改。因此,在展开父元素之前,请等待DOM处于您想要查看的状态。WeInRe由PhoneGap托管:,或者可以安装在您的计算机上

    可能的重复:检查这里的第一个答案:安装FireBug Lite,这样您就可以在iPad上使用它。当然,要使用jQuery选择器:
    document.defaultView.getComputedStyle($(“元素”)[0],null)
    我真的不明白这一点。首先说
    .css()
    更好,然后指向一个使用simple
    getComputedStyle()
    的答案。此外,浏览器的差异在这里并不重要,他想要在iPad上工作的东西。我拒绝投票,因为你的答案只说了一个指向另一个答案的链接(应该是一个标志/注释)。这个问题的公认答案不是说使用getComputedStyle(),而是.css(),无论如何,我很感激你的建议,留下一个注释而不是答案。我可以将它与HTML5/css/Javascript一起使用吗?酷@频繁的;)就像Firebug/Webkit Inspector一样。但是远程的,所以你可以从你的计算机上检查设备。
    (function($) {
        $.fn.computedCSS = function() {
            var elem = $(this)[0];
            var styles = window.getComputedStyle(elem);
            var computed = {};  
            for (key in styles) {
                if (!key.match(/^\d+$/) && typeof styles[key] !== 'function') {
                    computed[key] = styles[key];   
                }
            }
            return computed;
        };
    })(jQuery);