jquery - 无法让选择器与 JQuery SVG 库一起使用

标签 jquery jquery-plugins jquery-selectors svg

我无法使用 Keith Wood 的 SVG 库让外部加载的 SVG 执行我想要的操作。

我可以通过以下方式加载外部 SVG:

$(document).ready ( function () {  
      $("#some_id").svg({  
            loadURL: 'my_file.svg',  
            onLoad: my_function,  
            settings: {}  
          });  
});

我可以让 my_function 正常工作。我就是无法让选择器正常工作。

我的外部加载的 SVG 采用以下形式:

<g id="parent_id">
  <path id = "child_1_id"  />
  <path id="child_2_id" />
  etc.  </g>

我可以用以下方法对整个parent_id元素进行着色:

svg.style('#parent_id {fill: blue}')

但是当我尝试时:

svg.style('#child_id {fill: blue}')

没有任何反应。

svg.style('g> path {fill: blue}') svg.style('g#parent_id > path {fill: blue}')

两者都工作正常 - 没问题。但例如,当我引入 #child_id 时:

svg.style('g#parent_id > path#child_id {fill: blue}')

什么也没发生。我希望能够单独设置所有 child_id 元素的样式。我错过了什么?

最佳答案

如果您的子 ID 在整个 svg 文档中是唯一的,您可以使用以下 jquery 选择器:

var selector = 'svg path[id="child_1_id"]';
$(selector).attr('fill', 'blue');

关于jquery - 无法让选择器与 JQuery SVG 库一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3988502/

相关文章:

ruby-on-rails-3 - Assets 管道中是否有 "Rails Way"包含 jQuery 插件?

javascript - Jquery:当主菜单悬停在子菜单项上时,停止发生效果

jquery - 简单的 jQuery 选择器不起作用

javascript - jquery 选择器 - 除了最后 3 条记录之外的表的所有行

jquery - 如何在 Google Maps API 上强制重绘?

javascript - 动画宽度导致内部元素从未知高度跳起来

javascript - Onclick 事件中未获取复选框的 ClientID

Javascript/jQuery $.get(url) 标题解析不起作用

jquery-plugins - 努力解决这个 jQuery div 折叠/展开问题

javascript - jQuery 验证插件多个复选框