将文本放在svg的中心

时间:2016-05-06 02:48:41

标签: javascript jquery html css svg

我正在创建<svg>,我想将文本放在<svg>的中心,当我点击第一个按钮时,svg没有文本,当我点击第二个按钮,文字出现。第一个我只是添加了svg的位置。但我不知道为什么文字没有出现?

谢谢

$(document).ready(function() {
  $('#testbtm').click(function() {
    var str = '<svg class="hexagon" class="ui-widget-content" style="position:absolute; left:200; top:300;"\
            <text fill="black" x=75 y=75 style="text-anchor: middle">1</text>\
            <path d="M38 0 L113 0 L150 65 L113 130 L38 130 L0 65 Z" / fill="none" stroke="blue"></svg>'
    var svgElement = $(str);
    svgElement.children('text').text(1);
    svgElement.attr("class", "hexagon ui-widget-content");
    $("#display").append(svgElement);
  }); //end click	
  $('#testbtm2').click(function() {
    $('.hexagon').each(function() {
      var svgElement = $('<svg class="hexagon" class="ui-widget-content">\
            <text fill="black" x=75 y=75 style="text-anchor: middle">1</text>\
            <path d="M38 0 L113 0 L150 65 L113 130 L38 130 L0 65 Z" / fill="none" stroke="blue"></svg>');
      svgElement.children('text').text(1);
      svgElement.attr("class", "hexagon ui-widget-content");
      $("#display").append(svgElement);
    });
  }); // end click
}); // end ready
#display {
  height: 500 px;
  width: 500 px;
  border: 1 px solid black;
  overflow: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="display"></div>
<button id="testbtm">test</button>
<button id="testbtm2">test2</button>

1 个答案:

答案 0 :(得分:1)

您在开场>代码上缺少结束括号svg