代码中有两个<text>
块,它们具有相同的类名。在这些块中,有<tspan>
个标记。我需要将每个<tspan>
块的<text>
标记中的字母从“ a”更改为“ p”。
阻止自身:
<text class="deal-label--text" transform="translate(8, 17)" style="fill: rgb(255, 255, 255); font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif; font-size: 13px; font-weight: 600;">
<tspan style="font-family: symbol-olymp, "Open Sans";">a</tspan>
<tspan dx="1px">1000</tspan>
</text>
<text class="deal-label--text" transform="translate(8, 17)" style="fill: rgb(255, 255, 255); font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif; font-size: 13px; font-weight: 600;">
<tspan style="font-family: symbol-olymp, "Open Sans";">a</tspan>
<tspan dx="1px">2000</tspan>
</text>
</text>
<text class="deal-label--text" transform="translate(8, 17)" style="fill: rgb(255, 255, 255); font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif; font-size: 13px; font-weight: 600;">
<tspan style="font-family: symbol-olymp, "Open Sans";">a</tspan>
<tspan dx="1px">3000</tspan>
</text>
答案 0 :(得分:1)
您可以使用querySelector
的组合器。查询.deal-label--text > tspan
表示tspan
个元素,它们是具有deal-label
类的元素的子元素。 document.querySelectorAll
返回具有与查询匹配的每个HTML元素对象的伪数组。您可以使用Array.from
方法将伪数组转换为真实数组,并可以使用.forEach
方法处理数组中的每个值。
Array.from(document.querySelectorAll('.deal-label--text > tspan')).forEach(element => element.innerText = 'p');