div 添加 svg 后的宽度计算问题

画多张图片(d3.js)的时候需要添加 svg,出现了下面的问题:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <div class="chart"></div>
    <div class="chart"></div>
    <div class="chart"></div>
    <div class="chart"></div>

    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script>
        $(function () {
            $('.chart').each(function () {
                $(this).html('<svg></svg>'); 
                // 加上这句后输出结果为:1285, 1285, 1270, 1270

                console.log($(this).width()); // 期待值:1285 
            });
        });
    </script>
</body>
</html>

请问,这是为什么呢?

阅读 5.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题