Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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/2/jquery/86.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 无法使用jQuery更改svg颜色_Javascript_Jquery_Svg - Fatal编程技术网

Javascript 无法使用jQuery更改svg颜色

Javascript 无法使用jQuery更改svg颜色,javascript,jquery,svg,Javascript,Jquery,Svg,使用jquery或vanila javascript更改svg图像的颜色时遇到问题。我尝试了一些方法,但似乎没有任何效果,原始颜色是黑色,如果我在IDE中打开svg图像并添加/更改fill属性,我可以更改它。但不是JS。我做错了什么?其他代码行可以正常工作,所以这不是文件的问题 到目前为止,我已经尝试了这些代码行,并将id放在img标记以及svg元素上 html: SVG文件: <svg width="100%" viewBox="0 0 588 497" version="1.1" x

使用jquery或vanila javascript更改svg图像的颜色时遇到问题。我尝试了一些方法,但似乎没有任何效果,原始颜色是黑色,如果我在IDE中打开svg图像并添加/更改fill属性,我可以更改它。但不是JS。我做错了什么?其他代码行可以正常工作,所以这不是文件的问题

到目前为止,我已经尝试了这些代码行,并将id放在img标记以及svg元素上

html:

SVG文件:

<svg width="100%" viewBox="0 0 588 497" version="1.1"
 xmlns="http://www.w3.org/2000/svg">
<title>random title</title>
<g>
    <path
        d="M259.952694,496.613554 C253.376792,496.613554 250.627732,488.109987 250.038987,483.084288 L246.271494,450.855246 C245.492831,444.196255 243.408484,440.818093 240.070679,440.818093 C236.607054,440.818093 232.400376,443.96598 231.070952,445.174331 L199.957676,473.559913 "
        id="myId"></path>
</g>
</svg>

随机标题

您的Jquery css工作正常。您不需要在
路径
上有空的
fill=“
属性

注意:向下滚动代码段以查看结果,您的viewbox有点大:)

$('#myId').css({fill:“blue”})

随机标题

您的Jquery css工作正常。您不需要在
路径
上有空的
fill=“
属性

注意:向下滚动代码段以查看结果,您的viewbox有点大:)

$('#myId').css({fill:“blue”})

随机标题
试试这个-
$('#myId').css({fill:“blue”});
随机标题
试试这个-
$('#myId').css({fill:“blue”});
随机标题

我认为这是因为您使用的是
标记,而不是将
直接放在HTML中

如果无法将
直接放入HTML中,请使用
标记将其嵌入,例如:

<object id="img" data="test.svg" type="image/svg+xml">Your browsser doesn't support SVG</object>
document.getElementById("img").contentDocument.getElementById("myId").setAttribute("fill", "#f8b9d4");

我认为这是因为您使用的是
标记,而不是将
直接放在HTML中

如果无法将
直接放入HTML中,请使用
标记将其嵌入,例如:

<object id="img" data="test.svg" type="image/svg+xml">Your browsser doesn't support SVG</object>
document.getElementById("img").contentDocument.getElementById("myId").setAttribute("fill", "#f8b9d4");

谢谢,但问题是一样的。如果有帮助的话,我已经用html标记更新了OP。我在你的帖子中看到的唯一区别是jquery的链接(fill属性消失了),我在index.html文件中已经有了这个链接,如果我添加它,我会在svg文件中得到一个错误,它是“Multiple Root Tags”@Halalbin,我还向我的代码片段添加了一个结尾
标记,因为它不在原始代码中。可能是这个吗?不,不幸的是,这是我这边的一个副本/过去的打字错误。它在原始文件中。此外,我还创建了一个全新的项目,只包含必要的文件,以查看它是否有效,以及sam问题。Gona更新OP。选择器不会有问题,jquery找不到id bc,因为它在结构中太深了,或者类似的东西?谢谢,但问题是一样的。如果有帮助的话,我已经用html标记更新了OP。我在你的帖子中看到的唯一区别是jquery的链接(fill属性消失了),我在index.html文件中已经有了这个链接,如果我添加它,我会在svg文件中得到一个错误,它是“Multiple Root Tags”@Halalbin,我还向我的代码片段添加了一个结尾
标记,因为它不在原始代码中。可能是这个吗?不,不幸的是,这是我这边的一个副本/过去的打字错误。它在原始文件中。此外,我还创建了一个全新的项目,只包含必要的文件,以查看它是否有效,以及sam问题。Gona升级OP。选择器不会有问题,jquery找不到id bc,因为它在结构中太深了,或者类似的东西?谢谢你,但是嵌入它不是很好,但是我把svg文件直接放在html文件中,现在它工作了!谢谢,但是嵌入得不太好,但是我把svg文件直接放在html文件中,现在就可以了!
Try This- 

$('#myId').css({fill:"blue"});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<svg width="100%" viewBox="0 0 588 497" version="1.1"  
xmlns="http://www.w3.org/2000/svg">
<title>random title</title>
<g>
<path
    d="M259.952694,496.613554 C253.376792,496.613554 250.627732,488.109987 250.038987,483.084288 L246.271494,450.855246 C245.492831,444.196255 243.408484,440.818093 240.070679,440.818093 C236.607054,440.818093 232.400376,443.96598 231.070952,445.174331 L199.957676,473.559913 C195.010319,478.077582 191.435117,480.178547 188.70505,480.178547 C187.190455,480.178547 185.884771,479.528079 185.020645,478.350589 C182.383162,474.756395 184.650306,466.661151 185.407603,464.263439 L192.935467,440.450127 C193.543204,438.531958 194.03699,435.934833 192.949711,434.446352 C191.893294,433.002977 189.478964,432.791694 188.135296,432.791694 C187.140602,432.791694 186.411793,432.903271 186.3382,432.91514 L127.318884,443.085236 C118.696618,444.573716 112.519544,442.940424 109.001317,438.313553 C103.842676,431.523993 106.712808,420.883851 106.838629,420.439918 "
    id="myId"></path>
</g>
</svg>
<object id="img" data="test.svg" type="image/svg+xml">Your browsser doesn't support SVG</object>
document.getElementById("img").contentDocument.getElementById("myId").setAttribute("fill", "#f8b9d4");