2010-08-25 52 views

回答

18

沒有什麼內置的,但你可以使用filter()方法來達到同樣的目的:

$('input').filter(function() { return /^[a-z]+_[1-9].*/.test(this.name); }) 
+0

+1非常好的解決方案 – 2010-08-25 16:39:14

+0

+1 - 這是更清潔,希望你不介意 - 從那裏的問題採取額外的大括號 – 2010-08-25 16:46:02

+0

@Nick:不介意,一點都不介意,教導我不要盲目地複製和粘貼大聲笑。 – 2010-08-25 16:49:55

4

東西,你可以找到a regex selector here(詹姆斯Padolsey),這樣調用你的情況:

$('input:regex(name,^[a-z]+_[1-9].*)'); 
+0

我喜歡自定義選擇器的便利性,但經常擔心它們的性能。我沒有檢查代碼,但我保持意義,只是爲了讓我放心,他們不會在解析整個選擇器時施加太多的壓力。 – 2010-08-25 16:51:26

+1

@Andy - 這絕對是一個值得關注的問題,取決於你使用的是多少,以及每個瀏覽器如何排列這些調用,沒有這些信息的理想解決方案只會在一次之前聲明正則表達式。 – 2010-08-25 17:08:43

+0

愛那個,超級一個! :) – 2012-11-09 05:01:25