2010-06-04 116 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') + '\']'; 

該做的伎倆在最少用於輸入元素。

相關問題