C# 使用JavaScript/jQuery访问CSS属性
如何迭代/访问被引用CSS文件本身的属性 听我说,这听起来可能很奇怪:我目前正在将谷歌地图API包装成一些C代码(它输出JavaScript);Google Maps API(用于多边形类)似乎允许您通过传递适当的值来指定某些内容,如“笔划颜色”,但我找不到为多边形设置类名的方法,也无法立即为多边形找到一个类名。因此,由于我们的HTML/CSS人员希望对内容进行蒙皮,我想我应该使用jQuery(.CSS())或其他工具来解析CSS文件,从内部获取定义的属性,并在JavaScript代码中设置值 通常,我会设置颜色(例如,以编程方式,如下所示: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代码中设置值
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。我编辑了答案。如果您有任何问题,请随时提问。嗯,您是否有一个更详细解释此问题的链接?