2013-03-20 78 views
1

爲了避免重複編寫相同的代碼,我嘗試使用多個選擇器。jQuery多選擇器,當某些元素可能存在或不存在時

通常,如果這些元素中的一個存在,那麼其他元素不存在。

$('form#post, form#edit, form#quickpostform').submit(function() 
    { 
     // STUFF 

     return false; 
    }); 

應該這項工作?

或者確實存在這些可能不存在的事實嗎?

+1

我認爲它應該適用於您所描述的所有情況。 – 2013-03-20 07:15:47

+0

好吧,那麼我已經打破了別的東西:P至少,這是進步!謝謝 – ryanwinchester 2013-03-20 07:16:45

+0

我認爲你需要一個選擇器之間的空間來觸發它。例如:$('form #post',form #edit,form #quickpostform') – BIOS 2013-03-20 07:22:21

回答

3

它會工作,而不會斷裂,選擇跳過ID,如果無法找到特定的ID文件中呢..

HTML

<div id="test">test</div> 
<div id="test1">test1</div> 

jQuery的

$('#test,#test1,#test2').click(function(){ 
alert('clicked'); 
}); 

看到它的工作here

+1

確實如此。我想我的「不高興」在這裏閃耀。我沒有考慮單獨測試它,我只是一直在竊取我的代碼並提醒。 – ryanwinchester 2013-03-20 07:23:19

+1

:) .. okies ..快樂編碼。 :) – bipen 2013-03-20 07:26:10

1

它會工作。您正在選擇與這些選擇器中的任何一個匹配的任何元素;每個可以匹配0個或更多個元素。

您可以隨時自行測試。