Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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
C# 使用JavaScript/jQuery访问CSS属性_C#_Javascript_Jquery_Css_Google Maps - Fatal编程技术网

C# 使用JavaScript/jQuery访问CSS属性

C# 使用JavaScript/jQuery访问CSS属性,c#,javascript,jquery,css,google-maps,C#,Javascript,Jquery,Css,Google Maps,如何迭代/访问被引用CSS文件本身的属性 听我说,这听起来可能很奇怪:我目前正在将谷歌地图API包装成一些C代码(它输出JavaScript);Google Maps API(用于多边形类)似乎允许您通过传递适当的值来指定某些内容,如“笔划颜色”,但我找不到为多边形设置类名的方法,也无法立即为多边形找到一个类名。因此,由于我们的HTML/CSS人员希望对内容进行蒙皮,我想我应该使用jQuery(.CSS())或其他工具来解析CSS文件,从内部获取定义的属性,并在JavaScript代码中设置值

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

听我说,这听起来可能很奇怪:我目前正在将谷歌地图API包装成一些C代码(它输出JavaScript);Google Maps API(用于多边形类)似乎允许您通过传递适当的值来指定某些内容,如“笔划颜色”,但我找不到为多边形设置类名的方法,也无法立即为多边形找到一个类名。因此,由于我们的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\"),");
document.styleSheets[0].rules[0].selectorText
并从引用的CSS文件中的类中获取属性,定义如下:

.Poly
{
    stroke-color: #FF00FF;  
    fill-color: #FF00FF;
}
jQuery似乎希望一个已定义的元素从中获取CSS属性……它似乎没有直接从CSS文件中获取值(我可能错了)。不幸的是,上面的代码会导致“未定义”。这可能是因为我对JavaScript、/CSS已经生疏,也可能是因为我尝试访问内容的方式不正确


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

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

我的解决方案。 首先,创建一个空div,应用选定的css

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

可以通过jQuery将div设置为不可见

$('#dumbPoly').hide();
或者设置div的样式

<div class="Poly" id="dumbPoly" style="display: none;"></div>

访问JavaScript文件有点奇怪。它在每个浏览器中的行为都不同-您可以尝试以下方法:

html.AppendLine("fillColor: $(\"Poly\").css(\"fill-color\"),");
document.styleSheets[0].rules[0].selectorText

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

html中是否有class=“Poly”标记?如果有,我认为代码应该是html.AppendLine(“fillColor:$(\”.Poly\”).css(“fill color\”);没有。如前所述,我相信谷歌地图是通过JavaScript处理事情的…纯JavaScript…因此,没有找到相应HTML标记的选项。换句话说,地图是用JavaScript绘制多边形,而不是使用HTML元素,我想使用一些JavaScript从CSS文件中获取一些属性,以通过看一看啊,但是如果某个东西被应用到这个div上,一个属性以一个名字或另一个名字出现(我没有列出它们,也没有列出我将支持的所有Google类),该怎么办,并使div可见?然后我的页面上出现了一个不需要的可见div。我编辑了答案。如果您有任何问题,请随时提问。嗯,您是否有一个更详细解释此问题的链接?