从JavaScript访问SVG中的Inkscape项
我使用的是SVG格式的美国各州地图。我没有生成这张地图。它具有如下路径元素:从JavaScript访问SVG中的Inkscape项,javascript,svg,inkscape,Javascript,Svg,Inkscape,我使用的是SVG格式的美国各州地图。我没有生成这张地图。它具有如下路径元素: <path style="font-size:12px;fill:#d0d0d0;fill-rule:nonzero;stroke:#000000;stroke-opacity:1;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-linecap:butt;marker-start:none;stroke-linejo
<path
style="font-size:12px;fill:#d0d0d0;fill-rule:nonzero;stroke:#000000;stroke-opacity:1;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-linecap:butt;marker-start:none;stroke-linejoin:bevel"
d="M 445.51998,291.515 L 451.69098,290.644 L 452.25298,290.563 L 452.85298,294.444 L 453.25798,297.212 L 447.56998,298.055 L 448.71498,296.347 L 448.73698,296.297 L 448.98998,295.683 L 449.04798,295.354 L 448.86298,294.795 L 448.70098,294.58 L 446.99298,293.975 L 446.58298,293.98 L 446.24498,294.044 L 445.92498,294.134 L 445.51998,291.515"
id="12057"
inkscape:label="Hillsborough, FL" />
每一个都会失败,并出现未定义或空错误。
如何用javascript阅读此内容?
当前的系统规范是运行在ASP.NET站点上的jQuery 1.7.2和d3js v2。您可以使用jQuery选择此元素,但无法对其进行操作,这不是jQuery的目的,但您可以使用它来选择和操作该路径。
实际上,我认为Raphael Demos页面中有一个类似的示例。您可以使用jQuery选择此元素,但无法操纵它,这不是jQuery的目的,但您可以使用它来选择和操纵该路径。
实际上,我认为Raphael Demos页面中有一个类似的示例。类似的内容应该可以读取属性值(使用示例中元素的ID):
类似的内容应该可以用来读取属性值(使用示例中元素的ID):
这就是我的工作。inkscape属性存储为NamedNodeMap:
itemClick = function( evt ) {
var obj = evt.target;
var label = obj.attributes['inkscape:label'].nodeValue;
window.alert('Object: ' + obj.id + ' Clicked, Label: ' + label);
}
这就是我的工作。inkscape属性存储为NamedNodeMap:
itemClick = function( evt ) {
var obj = evt.target;
var label = obj.attributes['inkscape:label'].nodeValue;
window.alert('Object: ' + obj.id + ' Clicked, Label: ' + label);
}
我不想操纵这个对象。我只是想把它读入一个变量并显示出来。用Raphael还是比较容易的,相信我,检查一下。添加一个新的js库几乎是不可能的,除非这是读取这个元素的绝对唯一可能的方法——这似乎不太可能。我不想操纵这个对象。我只是想把它读入一个变量并显示出来。用Raphael还是比较容易的,相信我,检查一下。添加一个新的js库几乎是不可能的,除非这是读取这个元素的唯一可能的方法——这似乎是不太可能的。
itemClick = function( evt ) {
var obj = evt.target;
var label = obj.attributes['inkscape:label'].nodeValue;
window.alert('Object: ' + obj.id + ' Clicked, Label: ' + label);
}