如何将jquery对象转换为JSON字符串,或者如何在字符串中保存特定元素?

如何将jquery对象转换为JSON字符串,或者如何在字符串中保存特定元素?,jquery,json,jquery-selectors,Jquery,Json,Jquery Selectors,我向页面上的所有元素添加了一个单击事件,现在想将单击的目标元素发送到服务器。 如果单击的元素有ID,那么我可以只发送ID,但是如果元素没有ID、类、名称,那么,如何向服务器发送指向该元素的标识符(或选择器) 我尝试发送jquery.target对象本身。然而,这导致了 “未捕获的TypeError:将循环结构转换为JSON” 错误 是否有方法序列化jquery对象或基于当前元素创建选择器?至少对于表单元素,我通过从目标的父元素创建选择器字符串,然后添加输入类型及其名称属性来获得工作版本,例如:

我向页面上的所有元素添加了一个单击事件,现在想将单击的目标元素发送到服务器。 如果单击的元素有ID,那么我可以只发送ID,但是如果元素没有ID、类、名称,那么,如何向服务器发送指向该元素的标识符(或选择器)

我尝试发送jquery.target对象本身。然而,这导致了 “未捕获的TypeError:将循环结构转换为JSON” 错误


是否有方法序列化jquery对象或基于当前元素创建选择器?

至少对于表单元素,我通过从目标的父元素创建选择器字符串,然后添加输入类型及其名称属性来获得工作版本,例如:

var target_selector = $(e.target).parents().map(function () { return this.tagName; }).get();
target_selector.reverse();
target_selector.push(e.target.tagName);
target_selector = target_selector.join('>');
target_selector = target_selector + '[name=\'' + $(e.target).attr('name') + '\']';

这至少对输入元素起到了作用。

为什么需要向确切的元素发送标识符?您是否有能力修改HTML的生成方式?如果是这样的话,如果您需要这样做,我倾向于给所有元素一个id,但是我相信有更好的方法来实现您想要解决的特定问题。