我正在尝试使用jQuery和NO OTHER LIBRARIES创建一个SVG条形图,但是当我创建我的矩形时,它们不会显示在浏览器中,尽管键入html的相同内容会显示出来。
var data = [4, 8, 15, 16, 23, 42];
var chart = jQuery("#chart");
jQuery.each(data, function(index, value) {
var bar = jQuery("<rect/>");
chart.append(bar);
bar.attr("y", index * 20)
.attr("width", value * 10)
.attr("height", 20);
});
和html:
<svg id="chart" class="chart" width=420 height=120 style="display: block;">
<rect y="0" width="40" height="20"></rect> <!--added to test-->
</svg>
输入的rect标签显示得很好,使用Chrome中的开发者工具,它看起来与我的代码生成的第一个相同,但生成的代码不会显示。
答案 0 :(得分:7)
$(document).ready(function() {
var data = [4, 8, 15, 16, 23, 42];
var chart = jQuery("#chart2");
jQuery.each(data, function(index, value) {
var bar = $(document.createElementNS("http://www.w3.org/2000/svg", "rect")).attr({
x: 0,
y: index * 20,
width: value * 10,
height: 20,
stroke: "red",
fill: "white"
});
chart.append(bar);
});
});
编辑:显然你可以删除笔触和填充属性,我只是在那里确保它正常工作。干杯!
答案 1 :(得分:1)
尝试刷新元素:
jQuery.each(data, function(index, value) {
...
}
chart.html(function(){return this.innerHTML});