Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
从JavaScript访问SVG中的Inkscape项_Javascript_Svg_Inkscape - Fatal编程技术网

从JavaScript访问SVG中的Inkscape项

从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

我使用的是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-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);
        }