2010-06-04 30 views
0

我向页面上的所有元素添加了单击事件,现在要将点击的目标元素发送到服务器。 如果被点击的元素有一个ID,那么我可以发送ID,但是如果元素没有ID,类,名称...,那么我怎样才能向服务器发送一个标识符(或选择符)哪个指向这个确切的元素?如何将jquery对象转换为JSON字符串或如何将特定元素保存到字符串中?

我试着发送jquery.target对象本身。但是,这导致 “Uncaught TypeError:将圆形结构转换为JSON” 错误。

有没有一种方法来序列化jquery对象或基于当前元素创建选择器?

+0

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

回答

0

至少为表单元素,我设法通过建立从目标的父母选择字符串,然后将输入的类型和它的名称属性,例如获得一个工作版本:

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') + '\']'; 

该做的伎俩在最少用于输入元素。

相关问题