2011-02-15 24 views

cevap

230

Normalde Kimlik seçici # kullanarak kimlikleri seçmek, ama daha karmaşık eşleştirmeler için (a jQuery selector olarak ya da bir CSS3 seçicisi gibi) seçici ile nitelik başlatmadan-kullanabilirsiniz:

div[id^="player_"] 

ise Ancak bu HTML'yi değiştirebilirsiniz, ancak oyuncuya div s bir sınıf eklemeniz ve sonra bu sınıfı hedeflemeniz gerekir. Öznitelik seçiciler, sınıf seçicilerle aynı özelliği paylaştıklarından, kimlik seçiciler tarafından sunulan ek özgünlüğü kaybedersiniz. Ayrıca, sadece bir sınıf kullanmak işleri daha basit hale getirir.

+0

'u kullanın Bu seçici CSS'de ie8 ve ie9 gibi eski tarayıcılarda çalışır mı, yoksa alternatifi değil mi? – Jim

+1

@Jim: Evet, işe yarıyor. – BoltClock

+0

Çok uyumlu - quirksmode'a göz atın: http://www.quirksmode.org/css/selectors/#link3 – doub1ejack

79

bu deneyin:

$('div[id^="player_"]') 
+0

Yanıt bu olmalı. Çözümün kodda gerçekte nasıl uygulanacağını gösterir. Sağol Prakash! –

22

Sen * (http://api.jquery.com/category/selectors/) gibi meta karakterleri kullanabilirsiniz. Yani $('#player_*')'u kullanabileceğinizi düşünüyorum. Senin durumunda da deneyebilirsiniz yılında

selektör "Özellik ile başlar": http://api.jquery.com/attribute-starts-with-selector/:

+1

Aslında * $ ('# önek \ *') * kullanamayacağına inanıyorum. En azından işe yaramayacağım ... –

+1

Bu benim için çalışmıyor (Chrome'da). – rept

+0

Peki, belgelerin ne söylediğini anlamıyorsunuz: Herhangi bir meta-karakterini kullanmak için (örneğin,!! "# $% & '() * +,./:; <=>? @ [\]^\ '{|} ~') _ ** bir adın basit bir parçası olarak ** _, iki ters eğik çizgi ile birlikte çıkarılmalıdır: \\ Örneğin, id = "foo.bar" olan bir öğe kullanabilir seçici $ ("# foo \\. bar") ' –

3
$('div[id ^= "player_"]'); 

Bu $('div[id^="player_"]') me..select için çalışmış tüm Div "players_" anahtar sözcüğü ile başlar ve bunu görüntüler.

İlgili konular