1

我如何迭代/访问引用的 CSS 文件本身的属性?

听我说,这可能听起来很奇怪:我目前正在将 Google Maps API 包装到一些 C# 代码中(它输出 JavaScript);对于 Polygon 类等内容,Google Maps API 似乎允许您通过传入适当的值来指定某些内容,例如“stroke-color”,但我找不到为 Polygon 设置类名的方法,也没有立即发现为多边形。所以,既然我们的 HTML / CSS 人想要皮肤,我想我会使用 jQuery (.CSS()) 或其他东西来解析 CSS 文件,从内部获取定义的属性,并在 JavaScript 代码中设置值。

通常我会设置颜色(例如以编程方式,如下所示:

html.AppendLine("fillColor: '" + string.Format("#{0:X2}{1:X2}{2:X2}", fillcolor.R, fillcolor.G, fillcolor.B) + "',");

但我正在尝试将其更改为以下内容:

html.AppendLine("fillColor: $(\"Poly\").css(\"fill-color\"),");

并从引用的 CSS 文件中的类中获取属性,定义如下:

.Poly
{
    stroke-color: #FF00FF;  
    fill-color: #FF00FF;
}

jQuery 似乎想要一个已定义的元素来从中获取 CSS 属性……它似乎没有直接从 CSS 文件中获取值(我可能是错的)。不幸的是,上面的代码导致“未定义”。这可能是因为我对 JavaScript、/CSS 生疏了,也可能是我尝试访问事物的方式不正确。

有没有人知道我如何在这里完成我的目标?

4

2 回答 2

0

访问 JavaScript 文件有点古怪。它在每个浏览器中的行为都不同 - 你可以尝试这样的事情:

document.styleSheets[0].rules[0].selectorText

第一个索引遍历文档中的每个样式表,第二个索引遍历该表单中的每个规则。

于 2013-08-08T19:07:24.480 回答
0

有一些方法可以从 css 文件访问 css 属性。它们有点复杂。

通过 JavaScript 访问 CSS 文件内容

您如何使用 JavaScript 读取 CSS 规则值?

我对这种情况的解决方案。首先,您创建一个空的 div,它应用选定的 css

<div class="Poly" id="dumbPoly"></div>

然后选择 div,获取 css value 属性

html.AppendLine("fillColor: $(\"#dumbPoly\").css(\"fill-color\"),")

==================================================== ============================

您可以通过 jQuery 设置 div 不可见

$('#dumbPoly').hide();

或者设置div的样式

<div class="Poly" id="dumbPoly" style="display: none;"></div>
于 2013-08-08T17:25:50.047 回答