我正在SVG图像上设置填充属性,但是在使用.insertBefore()移动它们之后,它们又恢复为默认设置,因此我不再能够选择正确的元素来重新应用该填充属性。
我正在通过<object>
将图像用作SVG。
这给了我这样的结构:
<object class='blah1'>
#document
<svg>
<path>
或
<object class='blah1'>
#document
<svg>
<path>
<g>
<g>
etc
取决于图像。
我正在使用.setAttribute()
通过javascript / jquery使用“ fill”属性来更改SVG图像的颜色,这需要一些回旋方式来选择正确的元素,特别是由于#document部分。效果很好。
这些<object>
元素嵌套在更多<div>
元素下,这些div的多行嵌套在<li>
元素和顶层<ul>
下,如下所示:< / p>
<ul>
<li>
<div>
<object>
etc.
<li>
<div>
<object>
etc.
etc.
</ul>
然后我通过使用<li>
并使用.insertBefore()对这些行进行排序。
一旦列表元素移动了:先前设置的“填充”属性将不再适用(svg会变回黑色),并且我不再能够选择正确的元素来更改“填充”属性。 br /> 我尝试使用以前使用的方法来更改填充,但它们不起作用。我试图找出一种不同的方式,但是我无法以一种有意义的方式使其通过#document。
.insertBefore()是否会重置整个对象/ svg?
使用.insertBefore()移动SVG后,如何更改SVG的填充属性?