Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 动态编辑';s设置为背景图像_Javascript_Jquery_Html_Css_Svg - Fatal编程技术网

Javascript 动态编辑';s设置为背景图像

Javascript 动态编辑';s设置为背景图像,javascript,jquery,html,css,svg,Javascript,Jquery,Html,Css,Svg,我在div的背景中添加了一个svg图像 div#cover{ background-image:url('dwm.svg'); } 我想知道是否有任何方法可以动态编辑此svg的某些方面,如填充、笔划等。否。我相信只有将svg嵌入页面并引用它,才能做到这一点,即使这样,您也必须将背景值更改为其他内容并返回引用,由于浏览器错误。您可以尝试将svg作为DOM的一部分,进行修改,然后将背景设置为从DOM中提取的修改后的svg的数据uri。 虽然这

我在div的背景中添加了一个svg图像

        div#cover{
            background-image:url('dwm.svg');
        }

我想知道是否有任何方法可以动态编辑此svg的某些方面,如填充、笔划等。

否。我相信只有将svg嵌入页面并引用它,才能做到这一点,即使这样,您也必须将背景值更改为其他内容并返回引用,由于浏览器错误。

您可以尝试将svg作为DOM的一部分,进行修改,然后将背景设置为从DOM中提取的修改后的svg的数据uri。
虽然这可能有点骇客,但它确实有效

$('#bg').css('background-image', 'url(data:image/svg+xml;base64,'+btoa($('#svg').html())+')');
$('button').click(function(){
    $('#fill').attr('fill', '#ff00ff');
    $('#bg').css('background-image', 'url(data:image/svg+xml;base64,'+btoa($('#svg').html())+')');
});

[svg数据]


如果您不想嵌入svg,可以随时使用ajax来实现。

我知道!但是,如果没有其他问题,请不要忘记接受答案。:)您可以尝试将svg作为DOM的一部分,进行修改,然后将背景设置为从DominInterest中提取的修改后的svg的数据uri,如何将背景图像设置为DOM中的svg?将svg加载到div中,修改svg数据,获取div的内容,并从中生成数据uri。