2015-11-01 134 views
1

我已經動態創建了span標籤並附加到div。現在我想獲得它的ID,我選擇並刪除它。這就像jquery tagit。下面我使用這個,但它不工作。當我點擊特定的跨度時,查看id可以獲得的信息。如何獲得span的id並使其不顯示任何動態生成的?

$('span').on('click', function (e){ 
alert(e.target.Id); 
}); 

回答

3

你並不需要一個id(和span可能就沒有之一),你已經有了一個對元素的引用:this。這是標準的jQuery行爲。 (事實上​​,它是橫跨你可以掛鉤事件,而jQuery的過的各種方式的標準。)

所以

$('span').on('click', function() { 
    $(this).remove(); // Removes the one that was clicked 
}); 

(或者說,是的,添加e背部和使用e.target$(e.target).remove();


回覆您的評論:

我使用的代碼通過給予警告一試但是,點擊事件不會觸發。

這表明span S IN的問題不存在運行代碼的時候,所以你最終不會鉤住他們的click事件。

爲了解決這個問題,你可能想要做一個委託處理程序:在開發工具中,右鍵單擊這些跨度之一,並找到一個共同的祖先,他們有確實存在作爲你的代碼運行時的感覺。 (在最壞的情況下,這可能是document,但通常它更好地範圍的東西得更緊了。)然後:

$('selector-for-that-ancestor-element').on('click', 'span', function() { 
    $(this).remove(); // Removes the one that was clicked 
}); 

詳見on。另外,如果span有任何識別特徵(如class或某個屬性),則可能需要將其包含在上面的委派選擇器中以更具體。

+0

我嘗試使用該代碼通過提供警報也但點擊事件不發射。 – Vicky

+0

@Vicky:恩,那將是一個*不同的問題。我已經更新了答案。 –

+0

好吧,其實我已經創建了這個跨度動態使用jQuery ... – Vicky

相關問題