【问题标题】:How can i add element with attributes to SVG using jquery如何使用 jquery 将具有属性的元素添加到 SVG
【发布时间】:2012-06-26 19:18:59
【问题描述】:

我正在使用 Highcharts,图表结果是 SVG 元素的集合,我试图使用 jquery 向 SVG 添加一些元素

这是我尝试过的

function(chart) { // on chart load complete 
  $("#highcharts-0 Svg").
   append(document.createElementNS("http://www.w3.org/2000/svg", "rect"));
   $("#highcharts-0 Svg").find("rect").
   attr({x : 100 , y:100 , width : 100 , height : 100 });
   console.log($("#highcharts-0 Svg "));
                  });

我真的不能说这是否有效,我能看到的只是我的DOM 中的一个<rect></rect> 元素,没有attr 另一个通知是,当我使用 chrome 控制台将鼠标悬停在此元素上时,它会在 x-0 , y=0 上显示记录,

我知道 jquery 不会附加 svg 元素 hop 我错了

问题如何使用 jquery 向 SVG 添加具有属性的元素

编辑

现在有了id 的帮助,rect 元素 然后我尝试使用id 添加attr,但失败了

ScreenShot

【问题讨论】:

    标签: javascript jquery svg raphael highcharts


    【解决方案1】:

    Highcharts 还有一个绘图 API,可用于绘制矩形。这也适用于 VML。查看http://www.highcharts.com/ref/#renderer => rect 和http://jsfiddle.net/gh/get/jquery/1.7.1/highslide-software/highcharts.com/tree/master/samples/highcharts/members/renderer-rect-on-chart/ 的实时样本。

    【讨论】:

    • 你是 Torstein Hønsi 吗? ...我试图做的是找到一种使用内联 Jquery 或 Raphael js 向图表添加元素的方法,我的另一个问题是这个 API 是否允许您为元素渲染动画...谢谢
    【解决方案2】:

    如您所见here,没有rxry的属性,请尝试将其更改为xy

    【讨论】:

      【解决方案3】:

      矩形具有 x 和 y 属性。 rx 和 ry 用于圆圈。

      另外,你确定你的选择器是正确的吗?您可能希望将“Svg”小写

      ** 编辑 ** 屏幕截图中的矩形没有分配任何属性。没有宽度或高度,或 x/y 位置。您应该尝试在附加矩形时给它一个 id,并使用相同的 id 查询它。

      见: https://developer.mozilla.org/en/DOM/document.createElementNS

      你可以这样做:

      var rect = document.createElementNS("http://www.w3.org/2000/svg","rect");
      rect.id = 'your_id_here';
      

      然后通过正常路径附加矩形。

      请注意,由于您拥有原始 dom 元素,因此您也可以在那里分配其他属性。例如:

      rect.x = 100;
      rect.y = 100;
      rect.fill = 'blue';
      

      【讨论】:

      • 我编辑了我的问题,选择器是正确的看截图,我已经在 svg 中添加了 rect 标签
      • id 部分工作正常,我使用 $("#myrect").attr("x", "100");它没有做任何事情
      • 你有另一个带有 id 的矩形的截图吗?
      • 嗯。我唯一的猜测是它需要 x 和 y 对。试着给它一个填充。看看您是否可以在附加之前以编程方式分配它们。然后只需将完全定义的矩形附加到查询中。之后不要尝试修改它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 2012-06-19
      • 2020-11-28
      • 1970-01-01
      相关资源
      最近更新 更多