为什么不能对jQuery对象进行字符串化?

时间:2014-04-15 01:36:47

标签: javascript jquery json

JSON.stringify( $("p") );行会导致错误:

InvalidStateError: Failed to read the 'selectionDirection' property from 'HTMLInputElement': The input element's type ('button') does not support selection.

(我正在使用Google Chrome 34)

为什么呢?

我应该如何让$("p")更具便携性,以便我可以将其存储或传递给消息?

1 个答案:

答案 0 :(得分:8)

HTML元素中涉及大量的状态(属性,事件处理程序,与这些相关的代码,内部状态......)。将所有这些序列化为JSON是没有意义的。

如果您想在JSON中获取元素的某种表示,您可以使用.html()来获取表示该元素的HTML字符串。或者提出一种格式,例如,仅对标签名称,属性和文本进行编码。您可能必须手动实现(或找到一个库 - “html to json”可能是一个很好的关键字)