2011-05-21 60 views
4

我有很多元素,它們的id屬性類似於element_num,其中num是元素的數量。我希望它能夠在我點擊其中一個元素時被刪除。綁定處理程序到多個具有相似ID的元素

第一個問題是如何使用選擇器來查找這些元素(我想我需要像這樣的正則表達式)。

第二個問題是如何獲取點擊的元素ID來刪除它。

回答

3

在jQuery中,你可以通過

$("#id") for id 
$(".class") for class 
$("elem") for an element type, like <div> 

選擇元素說你有30周的div(帶班.removable)頁面上,你想刪除被點擊了一個,你會怎麼做是這樣的:

$(".removable").click(function() 
{ 
    alert("removing: "+$(this).attr("id")); 
    $(this).remove(); 
}); 
+0

我認爲是我需要的,謝謝 – Maki 2011-05-21 14:13:08

4

您可以綁定到所有的人,並刪除它們喜歡:

$("[id*='element_num']").click(function() { 
    // this.id is the id if you need it. 
    $(this).remove(); 
}); 

*=選擇獲取與含有該段的ID的任何元素。理想情況下,您會將所有這些可刪除項目包裝在一個容器中,以便您可以使用DOM選擇。

*=.remove

0

你可以增加一些類到這些因素,所以你可以選擇所有這些,並結合對click事件的刪除操作,只使用一個類選擇像 $(.removable) $(」。可移動「)

此外,如果您使用此類的類,您可以使用該元素的id爲真正的id號,然後你只需獲取元素id以獲得真實的數字id與此

$(this).attr('id') this.id

+2

-1的矛盾'$(本).attr( 「ID」)'請使用'this.id' – Raynos 2011-05-21 14:10:49

+1

@Raynos:什麼?你的意思是你並不總是將對象傳遞給函數,該函數返回包含在一組實用程序中的對象,這些實用程序允許您通過調用方法並傳遞字符串來提取屬性? ; o) – user113716 2011-05-21 14:14:15

+1

@patrick_dw您需要爲它們包裝更多'Enterprise($(this))。getMethods()。executeMethod(EnterPrise($(this))。getMethodNames()。get(「id」))' – Raynos 2011-05-21 14:15:31

相關問題