首页 > web前端 > css教程 > 正文

如何在 JavaScript 中检索元素的 CSS 属性值?

Susan Sarandon
发布: 2024-10-23 21:33:30
原创
292 人浏览过

How to Retrieve CSS Property Values for Elements in JavaScript?

使用 JavaScript 读取元素的 CSS 属性

问题:

如何获取值使用 JavaScript 的元素的 CSS 属性,考虑到样式表从外部链接到网页?

解决方案:

主要有两种方法:

1。使用 document.styleSheets:

此方法涉及手动迭代 document.styleSheets 数组并解析 CSS 规则以查找所需的属性。但是,不建议使用这种方法,因为它会占用大量资源,并且对于大多数场景来说并不实用。

2.创建匹配元素并使用 getComputedStyle:

此方法创建一个与目标元素具有相同 CSS 选择器的元素,并使用 getComputedStyle 方法检索属性值。这种方法的优点是它考虑了所有继承的样式和动态应用的任何样式。

代码示例:

检索 div 的“颜色”属性对于“layout”类,使用以下代码:

<code class="javascript">function getStyleProp(elem, prop){
    if(window.getComputedStyle)
        return window.getComputedStyle(elem, null).getPropertyValue(prop);
    else if(elem.currentStyle)
        return elem.currentStyle[prop]; //IE
}</code>
登录后复制

用法:

<code class="javascript">window.onload = function(){
    var d = document.createElement("div"); //Create div
    d.className = "layout";                //Set class = "layout"
    alert(getStyleProp(d, "color"));       //Get property value
}</code>
登录后复制

附加说明:

忽略内联当前元素上的样式定义,使用 getNonInlineStyle 函数:

<code class="javascript">function getNonInlineStyle(elem, prop){
    var style = elem.cssText; //Cache the inline style
    elem.cssText = "";        //Remove all inline styles
    var inheritedPropValue = getStyle(elem, prop); //Get inherited value
    elem.cssText = style;     //Add the inline style back
    return inheritedPropValue;
}</code>
登录后复制

以上是如何在 JavaScript 中检索元素的 CSS 属性值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!