javascript - 如何在没有class和id的情况下通过JS更改文本?
问题描述
代码中有几个<text>
块具有相同的类名。在这些块中,有<tspan>
标签。我需要将每个块的<tspan>
标签中的字母从“a”更改为“p” 。<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">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>
解决方案
您可以使用querySelector
. 查询.deal-label--text:nth-child(1)
表示元素是具有deal-label--text
类的元素的第一个子元素。document.querySelectorAll
返回伪数组具有与查询匹配的每个 HTML 元素对象。您可以使用方法将伪数组转换为真实数组,Array.from
并且可以使用方法处理数组中的每个值.forEach
。
Array.from(document.querySelectorAll('.deal-label--text:nth-child(1)')).forEach(element => element.innerText = 'p');
推荐阅读
- php - Laravel load more not working as expected
- python - 这个解决方案的时间复杂度是 O(logn) 吗?
- neo4j - 有什么方法可以过滤掉 Neo4J APOC 请求中最常见的术语?
- c# - 从 C# 批量插入和更新表
- python - 如何强制 Python 在不使用打印的情况下显示所有计算?
- c# - 在 asp.net core mvc 中,小数的模型绑定不接受千位分隔符
- c++ - 在二维向量处输入值时出错
- sql-server - Delphi & ADO - 如何在发布后获取 ID 列的值?
- c++ - OpenGL - 在倾斜的桌面上移动球
- python - 无法在 python 中使用 pandas 包使用 set_index()