javascript - 如何找到与元素关联的 css 文件名?

标签 javascript jquery css dom

我不确定这是否可能,但我想知道在单击一个元素(div 或...)后与该元素关联的 css 文件名。

例子

<link href="style_1.css" rel="stylesheet" type="text/css" />
<link href="style_2.css" rel="stylesheet" type="text/css" />

<div class='my_class'></div>

当我点击这个 div 时,我需要知道 div.my_class 的样式是从哪个 css 文件名关联的 style_1.cssstyle_2.css

最佳答案

//Need exact selector like if class is sampleclass then className='.sampleClass'   
var classFinder = function (className) {

        $.each(document.styleSheets, function (index, cssFile) {

            if (cssFile.href) var path = cssFile.href.toString();

            var classes = cssFile.rules || cssFile.cssRules;
            for (var x = 0; x < classes.length; x++) {
                if (classes[x].selectorText == className) {

                    //Find css file name from the file path
                    alert(path);
                }
            }
        });
    }

您必须从路径文本中找到文件名。它仅适用于从同一域加载的样式表。即,如果您从跨域加载样式表,将无法工作。

-- 最初改编一个答案here & 找到更新的 fiddle here .

关于javascript - 如何找到与元素关联的 css 文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375256/

相关文章:

javascript - 如何使用 axios 将文件上传到 Dropbox

javascript - Ruby on Rails - 将引导日期选择器值转换为 ruby​​ 时间值

jquery - 鼠标悬停时连续图像交换

javascript - 动画形式,如何检查页面刷新时的输入值?

html - CSS 如何在固定居中 Logo 的任一侧创建响应线

html - 修复了可滚动前容器后面的背景层

javascript - 如何在搜索栏中添加 X 标签

javascript - 主干登录屏幕

javascript - 如何从另一个 div 中的输入到达下一个 div

javascript - IE6 Ajax 与 JQuery