javascript - 如何使用 jQuery 选择在 <text> 中具有特定文本的特定 <g> 作为其子级?

标签 javascript jquery svg

我的html如下

<svg>
    <g>
        <rect></rect>
        <text> abc </text>
    </g>

    <g>
        <rect></rect>
        <text> def </text>
    </g>
</svg>

我想选择将子文本标记作为其值“abc ”的 g 标记,并应向其附加一些其他文本标记,以便最终输出为

    <svg>
    <g>
        <rect></rect>
        <text> abc </text>
        <text> extra added abc </text>
    </g>

    <g>
        <rect></rect>
        <text> def </text>
    </g>
</svg>

最佳答案

定位 has()g 标签 text 标签,contains() 字符串 abc,然后将元素附加到该 g 标记,如下所示。

$('g:has(text:contains("abc"))').append($('<text />', {text : ' extra added abc '}));

关于javascript - 如何使用 jQuery 选择在 <text> 中具有特定文本的特定 <g> 作为其子级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26377498/

相关文章:

javascript - 散点图 : Change circle radius interactively

javascript - Sharepoint 管理中心 Ajax 发布到 WebMethod 返回 此页面的安全验证无效

javascript - 函数调用不起作用

css - 使用 React 样式组件设置自定义光标图像

css - 带有渐变边框的透明圆形按钮

javascript - Backbone.js - 排序和迭代 - 比较器不起作用

javascript - 异步函数抛出错误: socket hang up

javascript - 如何找出两个字符串之间第一次出现差异的位置?

javascript - 如何对齐表格中的表单字段以进行内联编辑?

javascript - 在 svg 路径中​​动态绘制箭头不起作用