当与.insertBefore()

时间:2019-07-09 20:05:35

标签: javascript jquery html svg

我正在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的填充属性?

0 个答案:

没有答案