无法将Element.getBoundingClientRect()的结果转换为JSON值

时间:2015-06-18 09:07:38

标签: javascript

我需要将Element.getBoundingClientRect()返回的DOMRect对象的结果转换为JSON值

这是一个例子:

http://jsfiddle.net/5vs6x6fc/2/

使用JSON.stringify()时会返回{},我需要使用JSON值。

我想知道:

  • 为什么?
  • 什么是可能的解决方案替代循环到返回的对象r的属性ex:for (var property in r){}

注意:我的目标是Chrome。

1 个答案:

答案 0 :(得分:3)

Bounding rect仅包含“虚拟”属性。如果你

console.log(Object.getOwnPropertyNames(r));
// or
console.log(Object.keys(r));

你会得到一个空列表。 JSON.stringify()取决于Object.keys(r)(请参阅下面的评论),因此会返回一个空对象文字。

基于循环的方法似乎是解决此问题的可行方法。