我有一個按鈕可以創建一個新的引腳。該針在一個div中。它還創建了一個隱藏輸入來記錄該引腳被拖動時的位置。在我創建的jquery代碼中,我使用.data("my_id",pinNumber)
來標記引腳和輸入的div。 PinNumber在創建新引腳時遞增。這意味着帶有新引腳的div和輸入都有一個名爲my_id的數據鍵,其值相同。Jquery .data(),如何檢索具有匹配值的元素?
當一個使用點擊刪除一個引腳上,我希望它刪除與該div相關的div和輸入。這是我的刪除代碼。
$(".close").live("click", function() {
var this_id = $(this).parent("div").data("my_id");
$('div[data:my_id='+this_id+']').remove();
var this_id返回正確的引腳ID。不過,我遇到了如何根據數據值而不是數據鍵選擇元素的問題。
我該怎麼做?如何選擇所有元素或所有div或所有輸入,無論哪裏,數據值=指定值?我在說Jquery .data()
不是HTML數據標籤。
PS我使用的是live()
,因爲這些引腳是在使用命中新引腳時創建的,因此當代碼首次上線時,DOM元素不存在。一個用途可以創建30個引腳。我需要一種方法,並且我認爲data()
方法最適合將針腳div與創建的輸入連接。此外,.draggable()
然後會報告具有相同數據值的輸入的用戶界面位置....需要幫助。
請記住使用三等於運算符=== – 2012-03-21 19:56:20
@Greg,是否有一個原因,你在這種情況下被迫使用嚴格的相等運算符? – 2012-03-21 20:20:15
因爲你不知道this_id是什麼類型。最有可能的是,這裏不會遇到任何類型的強制錯誤,但最好使用嚴格的相等運算符來確保所比較的兩個值是相同的類型。唯一不適用的情況是當你試圖確定一個值是否爲空或未定義。 something == null很好地訣竅 – 2012-03-21 20:24:44