Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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 如何在HTML5中读取内嵌SVG中的自定义名称空间节点?_Javascript_Html_Svg - Fatal编程技术网

Javascript 如何在HTML5中读取内嵌SVG中的自定义名称空间节点?

Javascript 如何在HTML5中读取内嵌SVG中的自定义名称空间节点?,javascript,html,svg,Javascript,Html,Svg,我有一个内嵌在HTML中的SVG,如下所示: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:myapp2="http://example.org/myapp2" height="200px" width="200px"> <rect id="myRect" height="100px" width="100px" fill="blue" m

我有一个内嵌在HTML中的SVG,如下所示:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:myapp2="http://example.org/myapp2" height="200px" width="200px">
    <rect id="myRect" height="100px" width="100px" fill="blue" myapp2:height="200px" xlink:href="ok"/>
    <myapp:piechart xmlns:myapp="http://example.org/myapp"
    title="Sales by Region">
        <myapp:pieslice label="Northern Region" value="1.23"/>
    </myapp:piechart>
</svg>
<script>
var rect = document.getElementById("myRect");
var rectHeight = rect.getAttribute('height'); // returns 100px
var rectHref = rect.getAttributeNS('http://www.w3.org/1999/xlink', 'href'); // returns ok
var rectMyApp2Height = rect.getAttributeNS('http://example.org/myapp2', 'height'); // returns null
var rectPiechartLen = rect.getElementsByTagNameNS('http://example.org/myapp', 'piechart').length; // returns 0
</script>

var rect=document.getElementById(“myRect”);
var rectHeight=rect.getAttribute('height');//返回100px
var rectHref=rect.getAttributeNS('http://www.w3.org/1999/xlink“,”href');//返回ok
var rectMyApp2Height=rect.getAttributeNS('http://example.org/myapp2“,”高度“;//返回空值
var rectPiechartLen=rect.getelementsbytagnames('http://example.org/myapp“,”piechart')。长度;//返回0
我无法从自定义名称空间myapp和myapp2读取节点的值。 为什么rectMyApp2Height的值为空?
为什么rectPiechartLen的值为0?

html5不支持自定义名称空间,只支持svg、mathml和xml

您需要为文档提供一些xml mime类型,例如text/xml,以获得名称空间支持