当前位置: 首页 > 面试题库 >

如何使用jQuery获取所有元素CSS属性的列表?

甄胡非
2023-03-14
问题内容

我需要获取所有CSS属性的元素列表。我怎样才能做到这一点 ?


问题答案:

从SO1004475复制源-jQueryCSS插件可返回元素的计算样式以伪克隆该元素?-如果您觉得有用,请点击链接并在那里进行评论。

看起来很荒谬,但这可能是您最好的选择- .css()不带任何参数的情况下,使用所有这些东西设置对象

jQuery.fn.css = (function(css2) { 
    return function() {
        if (arguments.length) { return css2.apply(this, arguments); }
        var attr = ['font-family','font-size','font-weight','font-style','color',
            'text-transform','text-decoration','letter-spacing','word-spacing',
            'line-height','text-align','vertical-align','direction','background-color',
            'background-image','background-repeat','background-position',
            'background-attachment','opacity','width','height','top','right','bottom',
            'left','margin-top','margin-right','margin-bottom','margin-left',
            'padding-top','padding-right','padding-bottom','padding-left',
            'border-top-width','border-right-width','border-bottom-width',
            'border-left-width','border-top-color','border-right-color',
            'border-bottom-color','border-left-color','border-top-style',
            'border-right-style','border-bottom-style','border-left-style','position',
            'display','visibility','z-index','overflow-x','overflow-y','white-space',
            'clip','float','clear','cursor','list-style-image','list-style-position',
            'list-style-type','marker-offset'];
        var len = attr.length, obj = {};
        for (var i = 0; i < len; i++) {
            obj[attr[i]] = css2.call(this, attr[i]);
        }
        return obj;
    };
})(jQuery.fn.css);

请注意,这不会捕获所有可能的CSS属性,尤其是CSS3的新属性。这是一个所有标准的CSS和稳定的CSS3属性列表,这里是一个连字符为前缀的私有属性(如-moz-border-start)。如果您真的想要所有这些,则可以从那里收集它们。



 类似资料:
  • 问题内容: 我试图遍历一个元素并获取该元素的所有属性以输出它们,例如,一个标签可能具有3个或更多属性,我不知道,我需要获取这些属性的名称和值。我在考虑以下方面: 谁能告诉我这是否可能,如果可以,正确的语法是什么? 问题答案: 该属性包含它们全部: 您还可以做的是扩展,以便可以像获取所有属性的普通对象一样调用它: 用法:

  • 问题内容: 我今天一直在测试Javascript CSS函数,并注意到当使用.style.cssText时,它仅提供了我用JS设置的CSS。 相反,我想获取元素的所有CSS,所以我猜我在做错什么,或者可能需要另一个函数,例如getComputedStyle,但要使用整个CSS而不是单个属性值,但是我找不到搜索时需要的东西。 所以我的问题是如何从代码的最后部分获得完整的CSS,例如: 而不是当前输出

  • 问题内容: 如果我使用以下命令在特定元素上设置CSS值: 我希望能够取消设置特定于元素的值并使用级联值,具体如下: 但是该语法似乎不起作用–是否可以使用其他语法? 编辑: 该值不是从父元素继承的-原始值来自元素级选择器。抱歉给您带来任何混乱! 问题答案: 从jQuery文档: 将样式属性的值设置为空字符串(例如),如果该属性已被直接应用(无论是在HTML样式属性中,通过jQuery的方法还是通过对

  • 问题内容: 假设我使用以下命令通过XPath找到了一个元素: 我知道我可以通过获取特定CSS属性的值,但是可以获取所有属性的值而不必明确提及其名称吗? 问题答案: 原生Selenium API无法做到这一点。 但是,使用Javascript您可以: 您可以使用Seleniums的功能使用一些javascript支持。 必要的js代码可在找到(由@Mahsum Akbas提出) 现在,这里是Java

  • 我正在尝试访问容器的属性并获取图像URL。 问题是容器div最初是隐藏的,而图像url是动态添加的,并且容器是可见的。 当我尝试使用访问元素时,它返回给我。 html代码为: 此分区的CSS为: 但是,使用下面的代码可以获得url字符串: 使用以下代码动态添加图像容器“photo_holding”

  • 问题内容: 如何最好地获得以下结构的所有“名称”字符串元素: 我的方法是: 这可能有效,但是Java中没有任何内容。在这里我只可以写这样的: ? 问题答案: 使用Java 8: